sapdon 3.0.3 → 3.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 +3 -2
- package/dist/cli/build.js +3 -1
- package/dist/cli/dev-server/syncFiles.js +9 -1
- package/dist/cli/index.d.ts +5 -8
- package/dist/cli/index.js +90 -1
- package/dist/cli/start.js +1398 -2
- package/dist/core/addon/controllers/render_controllers.js +162 -0
- package/dist/core/entity/bundles/BasicMoveBundle.js +8 -0
- package/dist/core/entity/bundles/basicBundle.js +0 -7
- package/dist/core/entity/componets/entityComponet.js +7 -0
- package/dist/core/entity/dummyEntity.js +14 -0
- package/dist/core/entity/entity.js +4 -11
- package/dist/core/entity/nativeEntity.js +2 -2
- package/dist/core/factory/entityFactory.js +9 -9
- package/dist/core/index.d.ts +201 -22
- package/dist/core/index.js +1 -1
- package/dist/core/registry.js +1 -0
- package/dist/oc/actor.js +44 -0
- package/dist/oc/core.js +201 -0
- package/dist/oc/index.d.ts +3 -3
- package/dist/oc/index.js +1 -1
- package/dist/oc/input.js +67 -0
- package/dist/oc/optional.js +31 -0
- package/doc/oc/index.md +0 -0
- package/doc/sapdon-ts.md +7 -5
- package/package.json +1 -1
- package/doc/cli.md +0 -24
- /package/doc/hello_sapdon/{sapdon/344/275/277/347/224/250/346/225/231/347/250/213.md" → hello_sapdon.md} +0 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 表示 Minecraft 插件中的渲染控制器组。
|
|
3
|
+
* 该类用于管理一组渲染控制器,并提供添加、设置和转换为 JSON 的方法。
|
|
4
|
+
*/
|
|
5
|
+
export class AddonRenderControllerGroup {
|
|
6
|
+
/**
|
|
7
|
+
* 创建一个新的 AddonRenderControllerGroup 实例。
|
|
8
|
+
* @param {string} format_version - 渲染控制器的格式版本。
|
|
9
|
+
* @param {Map} [render_controllers] - 渲染控制器的 Map(可选)。默认为空 Map。
|
|
10
|
+
*/
|
|
11
|
+
constructor(format_version, render_controllers) {
|
|
12
|
+
/**
|
|
13
|
+
* 渲染控制器的格式版本。
|
|
14
|
+
* @type {string}
|
|
15
|
+
*/
|
|
16
|
+
this.format_version = format_version;
|
|
17
|
+
/**
|
|
18
|
+
* 渲染控制器的 Map,键为标识符,值为渲染控制器。
|
|
19
|
+
* @type {Map<string, AddonRenderController>}
|
|
20
|
+
*/
|
|
21
|
+
this.render_controllers = render_controllers || new Map();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 设置或更新组中的渲染控制器。
|
|
25
|
+
* @param {string} identifier - 渲染控制器的唯一标识符。
|
|
26
|
+
* @param {AddonRenderController} render_controller - 要添加或更新的渲染控制器。
|
|
27
|
+
*/
|
|
28
|
+
setRenderController(identifier, render_controller) {
|
|
29
|
+
this.render_controllers.set(identifier, render_controller);
|
|
30
|
+
return this; // 支持链式调用
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 使用渲染控制器的标识符将其添加到组中。
|
|
34
|
+
* @param {AddonRenderController} render_controller - 要添加的渲染控制器。
|
|
35
|
+
*/
|
|
36
|
+
addRenderController(render_controller) {
|
|
37
|
+
this.render_controllers.set(render_controller.name, render_controller.toJson());
|
|
38
|
+
return this; // 支持链式调用
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* 将渲染控制器组转换为 JSON 对象。
|
|
42
|
+
* @returns {Object} - 渲染控制器组的 JSON 表示。
|
|
43
|
+
*/
|
|
44
|
+
toJson() {
|
|
45
|
+
return {
|
|
46
|
+
format_version: this.format_version,
|
|
47
|
+
render_controllers: Object.fromEntries(this.render_controllers)
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* 表示 Minecraft 插件中的渲染控制器。
|
|
53
|
+
* 该类定义了用于渲染实体的几何体、材质、纹理和数组。
|
|
54
|
+
*/
|
|
55
|
+
export class AddonRenderController {
|
|
56
|
+
/**
|
|
57
|
+
* 创建一个新的 AddonRenderController 实例。
|
|
58
|
+
* @param {string} name - 渲染控制器的名称。
|
|
59
|
+
*/
|
|
60
|
+
constructor(name) {
|
|
61
|
+
/**
|
|
62
|
+
* 渲染控制器的名称。
|
|
63
|
+
* @type {string}
|
|
64
|
+
*/
|
|
65
|
+
this.name = `render_controller.${name}`;
|
|
66
|
+
/**
|
|
67
|
+
* 数组集合(例如纹理、几何体)。
|
|
68
|
+
* @type {Object}
|
|
69
|
+
*/
|
|
70
|
+
this.arrays = {};
|
|
71
|
+
/**
|
|
72
|
+
* 用于渲染的默认几何体。
|
|
73
|
+
* @type {string}
|
|
74
|
+
*/
|
|
75
|
+
this.geometry = "Geometry.default";
|
|
76
|
+
/**
|
|
77
|
+
* 用于渲染的材质列表。
|
|
78
|
+
* @type {Array<string>}
|
|
79
|
+
*/
|
|
80
|
+
this.material = [];
|
|
81
|
+
/**
|
|
82
|
+
* 用于渲染的纹理列表。
|
|
83
|
+
* @type {Array<string>}
|
|
84
|
+
*/
|
|
85
|
+
this.texture = [];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* 设置渲染控制器的默认几何体。
|
|
89
|
+
* @param {string} geometry - 要设置的几何体。
|
|
90
|
+
*/
|
|
91
|
+
setGeometry(geometry) {
|
|
92
|
+
this.geometry = geometry;
|
|
93
|
+
return this; // 支持链式调用
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* 向材质列表中添加一个材质。
|
|
97
|
+
* @param {string} material - 要添加的材质。
|
|
98
|
+
*/
|
|
99
|
+
addMaterial(material) {
|
|
100
|
+
this.material.push(material);
|
|
101
|
+
return this; // 支持链式调用
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* 向纹理列表中添加一个纹理。
|
|
105
|
+
* @param {string} texture - 要添加的纹理。
|
|
106
|
+
*/
|
|
107
|
+
addTexture(texture) {
|
|
108
|
+
this.texture.push(texture);
|
|
109
|
+
return this; // 支持链式调用
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* 注册一个数组。
|
|
113
|
+
* @param {string} name - 数组的名称。
|
|
114
|
+
* @param {Array} array - 要注册的数组。
|
|
115
|
+
*/
|
|
116
|
+
registerArray(name, array) {
|
|
117
|
+
this.arrays[`Array.${name}`] = { [name]: array };
|
|
118
|
+
return this; // 支持链式调用
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* 注册几何体数组。
|
|
122
|
+
* @param {Array} array - 要注册的几何体数组。
|
|
123
|
+
*/
|
|
124
|
+
registerGeometriesArray(array) {
|
|
125
|
+
this.registerArray("geometries", array);
|
|
126
|
+
return this; // 支持链式调用
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* 注册纹理数组。
|
|
130
|
+
* @param {Array} array - 要注册的纹理数组。
|
|
131
|
+
*/
|
|
132
|
+
registerTexturesArray(array) {
|
|
133
|
+
this.registerArray("textures", array);
|
|
134
|
+
return this; // 支持链式调用
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* 将渲染控制器转换为 JSON 对象。
|
|
138
|
+
* @returns {Object} - 渲染控制器的 JSON 表示。
|
|
139
|
+
*/
|
|
140
|
+
toJson() {
|
|
141
|
+
return {
|
|
142
|
+
arrays: this.arrays,
|
|
143
|
+
geometry: this.geometry,
|
|
144
|
+
material: this.material,
|
|
145
|
+
texture: this.texture
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/*
|
|
150
|
+
// 示例用法
|
|
151
|
+
const renderControllerGroup = new AddonRenderControllerGroup("1.10.0");
|
|
152
|
+
|
|
153
|
+
const renderController = new AddonRenderController("custom_entity");
|
|
154
|
+
renderController.setGeometry("Geometry.custom");
|
|
155
|
+
renderController.addMaterial("Material.default");
|
|
156
|
+
renderController.addTexture("Texture.default");
|
|
157
|
+
renderController.registerTexturesArray(["Texture.variant_1", "Texture.variant_2"]);
|
|
158
|
+
|
|
159
|
+
renderControllerGroup.addRenderController(renderController);
|
|
160
|
+
|
|
161
|
+
console.log(JSON.stringify(renderControllerGroup.toJson(), null, 4));
|
|
162
|
+
*/
|
|
@@ -36,10 +36,3 @@ export class BasicBundle {
|
|
|
36
36
|
return this.#components;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
//移动捆绑包
|
|
40
|
-
export const BasicMovementBundle = new BasicBundle();
|
|
41
|
-
MovementBundle.addComponents([
|
|
42
|
-
//speed
|
|
43
|
-
EntityComponent.setMovement(0.2),
|
|
44
|
-
EntityComponent.setMovementBasic()
|
|
45
|
-
]);
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
export class EntityComponent {
|
|
2
|
+
static setDamageSensor(deals_damage) {
|
|
3
|
+
return new Map().set("minecraft:damage_sensor", {
|
|
4
|
+
"triggers": {
|
|
5
|
+
"deals_damage": deals_damage
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
}
|
|
2
9
|
static setMovement(speed) {
|
|
3
10
|
return new Map().set("minecraft:movement", {
|
|
4
11
|
"value": speed
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EntityComponent } from "./componets/entityComponet.js";
|
|
2
|
+
import { Entity } from "./entity.js";
|
|
3
|
+
export class DummyEntity extends Entity {
|
|
4
|
+
constructor(identifier, texture, options = {}, behData, resData) {
|
|
5
|
+
super(identifier, texture, options, behData, resData);
|
|
6
|
+
//行为设置
|
|
7
|
+
this.behavior.addComponent(EntityComponent.combineComponents(EntityComponent.setPhysics(false, false), EntityComponent.setPushable(false, false), EntityComponent.setCollisionBox(0.001, 0.001), EntityComponent.setDamageSensor(false)));
|
|
8
|
+
//资源设置
|
|
9
|
+
this.resource.addMaterial("default", "entity_alphatest"); //添加默认材质
|
|
10
|
+
this.resource.addTexture("default", "textures/entity/none"); //添加默认纹理
|
|
11
|
+
this.resource.setGeometry("geometry.cube"); //设置默认几何体
|
|
12
|
+
this.resource.addRenderController("controller.render.cow"); //添加渲染控制器
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import { BasicEntity } from "./basicEntity.js";
|
|
2
2
|
import { ClientEntity } from "./clientEntity.js";
|
|
3
3
|
export class Entity {
|
|
4
|
-
|
|
5
|
-
*
|
|
6
|
-
* @param {*} identifier
|
|
7
|
-
* @param {*} texture
|
|
8
|
-
* @param {*} behData
|
|
9
|
-
* @param {*} resData
|
|
10
|
-
* @param {*} options
|
|
11
|
-
*/
|
|
12
|
-
constructor(identifier, texture, behData, resData, options = {}) {
|
|
4
|
+
constructor(identifier, texture, options = {}, behData, resData) {
|
|
13
5
|
// 创建行为实体和客户端实体
|
|
14
6
|
this.identifier = identifier;
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
7
|
+
this.behavior = new BasicEntity(identifier, options, behData);
|
|
8
|
+
this.resource = new ClientEntity(identifier, resData);
|
|
9
|
+
this.resource.addTexture("default", texture);
|
|
17
10
|
}
|
|
18
11
|
}
|
|
@@ -17,8 +17,8 @@ export class NativeEntity {
|
|
|
17
17
|
options["runtime_identifier"] = proto_id;
|
|
18
18
|
// 创建行为实体和客户端实体
|
|
19
19
|
this.identifier = identifier;
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
20
|
+
this.behavior = new BasicEntity(identifier, options, behData);
|
|
21
|
+
this.resource = new ClientEntity(identifier, resData);
|
|
22
22
|
}
|
|
23
23
|
catch (error) {
|
|
24
24
|
console.error(`Failed to create NativeEntity ${identifier}:`, error);
|
|
@@ -28,10 +28,10 @@ export const EntityAPI = {
|
|
|
28
28
|
throw new Error("必须提供 identifier、proto_id 和 texture。");
|
|
29
29
|
}
|
|
30
30
|
const nativeEntity = new NativeEntity(identifier, proto_id, options);
|
|
31
|
-
registerEntity(nativeEntity.
|
|
31
|
+
registerEntity(nativeEntity.behavior, nativeEntity.resource);
|
|
32
32
|
return {
|
|
33
|
-
behavior: nativeEntity.
|
|
34
|
-
resource: nativeEntity.
|
|
33
|
+
behavior: nativeEntity.behavior,
|
|
34
|
+
resource: nativeEntity.resource,
|
|
35
35
|
};
|
|
36
36
|
},
|
|
37
37
|
/**
|
|
@@ -48,10 +48,10 @@ export const EntityAPI = {
|
|
|
48
48
|
throw new Error("必须提供 identifier 和 texture。");
|
|
49
49
|
}
|
|
50
50
|
const entity = new Entity(identifier, texture, behData, resData, options);
|
|
51
|
-
registerEntity(entity.
|
|
51
|
+
registerEntity(entity.behavior, entity.resource);
|
|
52
52
|
return {
|
|
53
|
-
behavior: entity.
|
|
54
|
-
resource: entity.
|
|
53
|
+
behavior: entity.behavior,
|
|
54
|
+
resource: entity.resource,
|
|
55
55
|
};
|
|
56
56
|
},
|
|
57
57
|
/**
|
|
@@ -66,10 +66,10 @@ export const EntityAPI = {
|
|
|
66
66
|
throw new Error("必须提供 identifier 和 texture。");
|
|
67
67
|
}
|
|
68
68
|
const entity = new Projectile(identifier, texture, options);
|
|
69
|
-
registerEntity(entity.
|
|
69
|
+
registerEntity(entity.behavior, entity.resource);
|
|
70
70
|
return {
|
|
71
|
-
behavior: entity.
|
|
72
|
-
resource: entity.
|
|
71
|
+
behavior: entity.behavior,
|
|
72
|
+
resource: entity.resource,
|
|
73
73
|
};
|
|
74
74
|
},
|
|
75
75
|
};
|
package/dist/core/index.d.ts
CHANGED
|
@@ -7,6 +7,187 @@ declare enum ItemCategory {
|
|
|
7
7
|
None = "none"
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
declare function getMetadata(target: any): any;
|
|
11
|
+
declare function getOrCreateMetadata(target: any): any;
|
|
12
|
+
|
|
13
|
+
interface ISerializer<T> {
|
|
14
|
+
(instance: any): T;
|
|
15
|
+
}
|
|
16
|
+
declare namespace Serializer {
|
|
17
|
+
const json: ISerializer<string>;
|
|
18
|
+
const jsonDev: ISerializer<string>;
|
|
19
|
+
}
|
|
20
|
+
declare function Serializable(serializer?: ISerializer<any>): (_: any, ctx: DecoratorContext) => void;
|
|
21
|
+
declare function serialize<R, T extends object>(inst: T): R;
|
|
22
|
+
|
|
23
|
+
type ConstructorOf<T, Arg extends unknown[] = []> = new (...args: Arg) => T;
|
|
24
|
+
|
|
25
|
+
declare class ArrayEx extends Array {
|
|
26
|
+
constructor(init?: number[]);
|
|
27
|
+
set(arr: Iterable<number>): void;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
interface Vector3 {
|
|
31
|
+
x: number;
|
|
32
|
+
y: number;
|
|
33
|
+
z: number;
|
|
34
|
+
}
|
|
35
|
+
declare class Vec3 extends ArrayEx implements Vector3 {
|
|
36
|
+
x: number;
|
|
37
|
+
y: number;
|
|
38
|
+
z: number;
|
|
39
|
+
constructor(init: number[]);
|
|
40
|
+
static fromXYZ(x: number, y: number, z: number): Vec3;
|
|
41
|
+
static fromVec3(vec3: Vector3): Vec3;
|
|
42
|
+
static m(vec3: Vector3): number;
|
|
43
|
+
m(): number;
|
|
44
|
+
static isZero(vec: Vector3): boolean;
|
|
45
|
+
isZero(): boolean;
|
|
46
|
+
static normalize(vec: Vector3): false | undefined;
|
|
47
|
+
n(): false | undefined;
|
|
48
|
+
static add(vec1: Vector3, vec2: Vector3): Vec3;
|
|
49
|
+
add(vec: Vector3): Vec3;
|
|
50
|
+
static sub(vec1: Vector3, vec2: Vector3): Vec3;
|
|
51
|
+
sub(vec: Vector3): Vec3;
|
|
52
|
+
static mul(vec: Vector3, scalar: number): Vec3;
|
|
53
|
+
mul(scalar: number): Vec3;
|
|
54
|
+
static div(vec: Vector3, scalar: number): Vec3;
|
|
55
|
+
div(scalar: number): Vec3;
|
|
56
|
+
static dot(vec1: Vector3, vec2: Vector3): number;
|
|
57
|
+
dot(vec: Vector3): number;
|
|
58
|
+
static cross(vec1: Vector3, vec2: Vector3): Vec3;
|
|
59
|
+
cross(vec: Vector3): Vec3;
|
|
60
|
+
valueOf(): ArrayEx;
|
|
61
|
+
toString(): string;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
interface Vector4 extends Vector3 {
|
|
65
|
+
w: number;
|
|
66
|
+
}
|
|
67
|
+
declare class Vec4 extends ArrayEx implements Vector4 {
|
|
68
|
+
x: number;
|
|
69
|
+
y: number;
|
|
70
|
+
z: number;
|
|
71
|
+
w: number;
|
|
72
|
+
constructor(init: number[]);
|
|
73
|
+
static fromXYZW(x: number, y: number, z: number, w: number): Vec4;
|
|
74
|
+
static fromVec3(vec3: Vector4): Vec4;
|
|
75
|
+
static fromVec4(vec4: Vector4): Vec4;
|
|
76
|
+
static m(vec: Vector4): number;
|
|
77
|
+
m(): number;
|
|
78
|
+
static isZero(vec: Vector4): boolean;
|
|
79
|
+
isZero(): boolean;
|
|
80
|
+
static normalize(vec: Vector4): false | undefined;
|
|
81
|
+
n(): false | undefined;
|
|
82
|
+
static add(vec1: Vector4, vec2: Vector4): Vec4;
|
|
83
|
+
add(vec: Vector4): Vec4;
|
|
84
|
+
static sub(vec1: Vector4, vec2: Vector4): Vec4;
|
|
85
|
+
sub(vec: Vector4): Vec4;
|
|
86
|
+
static mul(vec: Vector4, scalar: number): Vec4;
|
|
87
|
+
mul(scalar: number): Vec4;
|
|
88
|
+
static div(vec: Vector4, scalar: number): Vec4;
|
|
89
|
+
div(scalar: number): Vec4;
|
|
90
|
+
static dot(vec1: Vector4, vec2: Vector4): number;
|
|
91
|
+
dot(vec: Vector4): number;
|
|
92
|
+
static multiply(vec: Vector4, mat: Matrix): number[] | Vec4;
|
|
93
|
+
multiply(mat: Matrix): number[] | Vec4;
|
|
94
|
+
valueOf(): ArrayEx;
|
|
95
|
+
toString(): string;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
declare class Matrix extends ArrayEx {
|
|
99
|
+
constructor();
|
|
100
|
+
get m11(): any;
|
|
101
|
+
get m12(): any;
|
|
102
|
+
get m13(): any;
|
|
103
|
+
get m14(): any;
|
|
104
|
+
get m21(): any;
|
|
105
|
+
get m22(): any;
|
|
106
|
+
get m23(): any;
|
|
107
|
+
get m24(): any;
|
|
108
|
+
get m31(): any;
|
|
109
|
+
get m32(): any;
|
|
110
|
+
get m33(): any;
|
|
111
|
+
get m34(): any;
|
|
112
|
+
get m41(): any;
|
|
113
|
+
get m42(): any;
|
|
114
|
+
get m43(): any;
|
|
115
|
+
get m44(): any;
|
|
116
|
+
set m11(v: any);
|
|
117
|
+
set m12(v: any);
|
|
118
|
+
set m13(v: any);
|
|
119
|
+
set m14(v: any);
|
|
120
|
+
set m21(v: any);
|
|
121
|
+
set m22(v: any);
|
|
122
|
+
set m23(v: any);
|
|
123
|
+
set m24(v: any);
|
|
124
|
+
set m31(v: any);
|
|
125
|
+
set m32(v: any);
|
|
126
|
+
set m33(v: any);
|
|
127
|
+
set m34(v: any);
|
|
128
|
+
set m41(v: any);
|
|
129
|
+
set m42(v: any);
|
|
130
|
+
set m43(v: any);
|
|
131
|
+
set m44(v: any);
|
|
132
|
+
get a(): any;
|
|
133
|
+
get b(): any;
|
|
134
|
+
get c(): any;
|
|
135
|
+
get d(): any;
|
|
136
|
+
get e(): any;
|
|
137
|
+
get f(): any;
|
|
138
|
+
set a(v: any);
|
|
139
|
+
set b(v: any);
|
|
140
|
+
set c(v: any);
|
|
141
|
+
set d(v: any);
|
|
142
|
+
set e(v: any);
|
|
143
|
+
set f(v: any);
|
|
144
|
+
static init(init: Iterable<number>, mapfn: (v: number, k: number) => number, thisArg?: any): Matrix;
|
|
145
|
+
clone(): Matrix;
|
|
146
|
+
setIdentity(): this;
|
|
147
|
+
static identity(): Matrix;
|
|
148
|
+
static add(m1: Matrix, m2: Matrix): Matrix;
|
|
149
|
+
add(m: Matrix): Matrix;
|
|
150
|
+
static sub(m1: Matrix, m2: Matrix): Matrix;
|
|
151
|
+
sub(m: Matrix): Matrix;
|
|
152
|
+
setTranslation(x: number, y: number, z: number): this;
|
|
153
|
+
setRotation(angle: number, axis: Vec3): this;
|
|
154
|
+
setScale(x: number, y: number, z: number): this;
|
|
155
|
+
setRotationX(angle: number): this;
|
|
156
|
+
setRotationY(angle: number): this;
|
|
157
|
+
setRotationZ(angle: number): this;
|
|
158
|
+
setRotationXYZ(yaw: number, pitch: number, roll: number): this;
|
|
159
|
+
static translate(mat: Matrix, vec: Vector3): Matrix;
|
|
160
|
+
translate(vec: Vector3): Matrix;
|
|
161
|
+
static transpose(mat: Matrix): any[];
|
|
162
|
+
transpose(): any[];
|
|
163
|
+
static multiply(mat1: Matrix, t: Matrix | Vector4): number[] | Vec4;
|
|
164
|
+
multiply(t: Matrix | Vector4): number[] | Vec4;
|
|
165
|
+
valueOf(): ArrayEx;
|
|
166
|
+
toString(): string;
|
|
167
|
+
static perspective(fov: number, aspect: number, near: number, far: number): number[];
|
|
168
|
+
static orthographic(right: number, top: number, near: number, far: number): number[];
|
|
169
|
+
static lookAt(eye: Vector3, target: Vector3, up: Vector3): number[];
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Client
|
|
174
|
+
*/
|
|
175
|
+
declare class GRegistry {
|
|
176
|
+
/**
|
|
177
|
+
* 生成注册器
|
|
178
|
+
* @param {string} name 文件名字
|
|
179
|
+
* @param {string} root 根目录,如 "behavior"、"resource" 等
|
|
180
|
+
* @param {string} path 数据的路径,如 "blocks/"、"items/"、"recipes/" 等
|
|
181
|
+
* @param {string} data 实例 必须包含 toJson 方法
|
|
182
|
+
*/
|
|
183
|
+
static register(name: string, root: string, path: string, data: string): void;
|
|
184
|
+
static submit(): void;
|
|
185
|
+
}
|
|
186
|
+
declare namespace registry {
|
|
187
|
+
function sumbit(): void;
|
|
188
|
+
function log(...info: any[]): void;
|
|
189
|
+
}
|
|
190
|
+
|
|
10
191
|
declare class Item {
|
|
11
192
|
/**
|
|
12
193
|
* 物品类
|
|
@@ -502,7 +683,7 @@ declare class BasicEntity {
|
|
|
502
683
|
is_spawnable: boolean;
|
|
503
684
|
is_summonable: boolean;
|
|
504
685
|
runtime_identifier: string | undefined;
|
|
505
|
-
properties:
|
|
686
|
+
properties: any;
|
|
506
687
|
components: Map<string, any>;
|
|
507
688
|
component_groups: Map<string, any>;
|
|
508
689
|
events: Map<string, any>;
|
|
@@ -597,6 +778,14 @@ declare class AddonClientEntityDescription {
|
|
|
597
778
|
constructor(identifier: string, min_engine_version: string);
|
|
598
779
|
identifier: string;
|
|
599
780
|
min_engine_version: string;
|
|
781
|
+
/**
|
|
782
|
+
* 注册粒子效果
|
|
783
|
+
* @param {string} name 组件名称
|
|
784
|
+
* @param {Object} component 组件数据
|
|
785
|
+
* @returns {AddonClientEntityDescription} 返回当前实例以支持链式调用
|
|
786
|
+
*/
|
|
787
|
+
addParticleEffect(name: string, particle: any): AddonClientEntityDescription;
|
|
788
|
+
particle_effects: {} | undefined;
|
|
600
789
|
/**
|
|
601
790
|
* 添加材质
|
|
602
791
|
* @param {string} name 材质名称
|
|
@@ -706,6 +895,10 @@ declare namespace EntityAPI {
|
|
|
706
895
|
behavior: BasicEntity;
|
|
707
896
|
resource: ClientEntity;
|
|
708
897
|
};
|
|
898
|
+
function createDummyEntity(identifier: string, texture: string, options: Object | undefined, behData: Object, resData: Object): {
|
|
899
|
+
behavior: BasicEntity;
|
|
900
|
+
resource: ClientEntity;
|
|
901
|
+
};
|
|
709
902
|
}
|
|
710
903
|
|
|
711
904
|
declare class AddonRecipe {
|
|
@@ -1913,13 +2106,13 @@ declare class DataBindingObject {
|
|
|
1913
2106
|
|
|
1914
2107
|
declare const ServerFormSystem: UISystem;
|
|
1915
2108
|
declare class ServerUISystem {
|
|
1916
|
-
static "__#
|
|
1917
|
-
static "__#
|
|
2109
|
+
static "__#6307@#binding_map": Map<any, any>;
|
|
2110
|
+
static "__#6307@#binding_title_list": any[];
|
|
1918
2111
|
static addBindingTitle(title_name: any): void;
|
|
1919
2112
|
static getBindingTitleList(): any[];
|
|
1920
2113
|
static getBindingContentList(): any[];
|
|
1921
2114
|
static bindingTitlewithContent(title_name: any, content: any): void;
|
|
1922
|
-
static "__#
|
|
2115
|
+
static "__#6307@#updateServerFormSystem"(): void;
|
|
1923
2116
|
}
|
|
1924
2117
|
|
|
1925
2118
|
declare class ItemTextureManager {
|
|
@@ -1941,26 +2134,12 @@ declare namespace FlipbookTextures {
|
|
|
1941
2134
|
function registerFlipbookTexture(atlas_tile: any, texture: any, ticks_per_frame: any, options?: {}): void;
|
|
1942
2135
|
}
|
|
1943
2136
|
|
|
1944
|
-
declare class GRegistry {
|
|
1945
|
-
static dataList: any[];
|
|
1946
|
-
/**
|
|
1947
|
-
* 生成注册器
|
|
1948
|
-
* @param {string} name 文件名字
|
|
1949
|
-
* @param {string} root 根目录,如 "behavior"、"resource" 等
|
|
1950
|
-
* @param {string} path 数据的路径,如 "blocks/"、"items/"、"recipes/" 等
|
|
1951
|
-
* @param {string} data 实例 必须包含 toJson 方法
|
|
1952
|
-
*/
|
|
1953
|
-
static register(name: string, root: string, path: string, data: string): void;
|
|
1954
|
-
static getDataList(): any[];
|
|
1955
|
-
}
|
|
1956
|
-
|
|
1957
2137
|
declare class UISystemRegistry {
|
|
1958
|
-
static "__#
|
|
1959
|
-
static "__#
|
|
2138
|
+
static "__#6305@#ui_system_map": {};
|
|
2139
|
+
static "__#6305@#ui_def_list": any[];
|
|
1960
2140
|
static registerUISystem(ui_system: any): void;
|
|
1961
|
-
static getUISystemList(): any[];
|
|
1962
2141
|
static addOuterUIdefs(ui_defs: any): void;
|
|
1963
|
-
static
|
|
2142
|
+
static submit(): void;
|
|
1964
2143
|
}
|
|
1965
2144
|
|
|
1966
2145
|
declare class CollectionPanel extends UIElement {
|
|
@@ -2059,4 +2238,4 @@ declare class StackPanel extends Panel {
|
|
|
2059
2238
|
setOrientation(orientation: any): this;
|
|
2060
2239
|
}
|
|
2061
2240
|
|
|
2062
|
-
export { BlockAPI, BlockComponent, DataBindingObject, EntityAPI, FeatureAPI, FlipbookTextures, GRegistry, Grid, Image, ItemAPI, ItemCategory, ItemComponent, ItemTextureManager, Label, Panel, RecipeAPI, ServerFormSystem, ServerUISystem, StackPanel, UIElement, UISystem, UISystemRegistry, terrainTextureManager };
|
|
2241
|
+
export { BlockAPI, BlockComponent, type ConstructorOf, DataBindingObject, EntityAPI, FeatureAPI, FlipbookTextures, GRegistry, Grid, type ISerializer, Image, ItemAPI, ItemCategory, ItemComponent, ItemTextureManager, Label, Matrix, Panel, RecipeAPI, Serializable, Serializer, ServerFormSystem, ServerUISystem, StackPanel, UIElement, UISystem, UISystemRegistry, Vec3, Vec4, type Vector3, type Vector4, getMetadata, getOrCreateMetadata, registry, serialize, terrainTextureManager };
|