sapdon 3.0.3 → 3.2.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.
Files changed (219) hide show
  1. package/README.md +11 -3
  2. package/doc/api.md +2 -2
  3. package/doc/oc/index.md +0 -0
  4. package/doc/sapdon-ts.md +7 -5
  5. package/package.json +18 -19
  6. package/{dist/cli/dev-server/server.d.ts → prod/cli/index.d.ts} +9 -3
  7. package/prod/cli/index.js +1 -0
  8. package/prod/cli/start.js +1428 -0
  9. package/{dist → prod}/core/index.d.ts +2325 -1643
  10. package/prod/core/index.js +59017 -0
  11. package/{dist → prod}/oc/index.d.ts +3 -3
  12. package/prod/oc/index.js +1 -0
  13. package/prod/utils/index.d.ts +41 -0
  14. package/prod/utils/index.js +1 -0
  15. package/dist/cli/build.d.ts +0 -7
  16. package/dist/cli/build.js +0 -234
  17. package/dist/cli/dev-server/client.d.ts +0 -2
  18. package/dist/cli/dev-server/client.js +0 -21
  19. package/dist/cli/dev-server/config.d.ts +0 -3
  20. package/dist/cli/dev-server/config.js +0 -3
  21. package/dist/cli/dev-server/handles.d.ts +0 -4
  22. package/dist/cli/dev-server/handles.js +0 -5
  23. package/dist/cli/dev-server/hmr.d.ts +0 -1
  24. package/dist/cli/dev-server/hmr.js +0 -13
  25. package/dist/cli/dev-server/index.d.ts +0 -4
  26. package/dist/cli/dev-server/index.js +0 -17
  27. package/dist/cli/dev-server/server.js +0 -59
  28. package/dist/cli/dev-server/syncFiles.d.ts +0 -3
  29. package/dist/cli/dev-server/syncFiles.js +0 -37
  30. package/dist/cli/index.d.ts +0 -23
  31. package/dist/cli/index.js +0 -1
  32. package/dist/cli/init.d.ts +0 -9
  33. package/dist/cli/init.js +0 -80
  34. package/dist/cli/load.d.ts +0 -3
  35. package/dist/cli/load.js +0 -94
  36. package/dist/cli/start.d.ts +0 -2
  37. package/dist/cli/start.js +0 -2
  38. package/dist/cli/tools/textureSet.d.ts +0 -13
  39. package/dist/cli/tools/textureSet.js +0 -103
  40. package/dist/cli/utils.d.ts +0 -13
  41. package/dist/cli/utils.js +0 -89
  42. package/dist/core/addon/biome.d.ts +0 -22
  43. package/dist/core/addon/biome.js +0 -27
  44. package/dist/core/addon/block/block.d.ts +0 -41
  45. package/dist/core/addon/block/block.js +0 -46
  46. package/dist/core/addon/controllers/animationController.d.ts +0 -43
  47. package/dist/core/addon/controllers/animationController.js +0 -73
  48. package/dist/core/addon/entity/clientEntity.d.ts +0 -107
  49. package/dist/core/addon/entity/clientEntity.js +0 -149
  50. package/dist/core/addon/entity/entity.d.ts +0 -42
  51. package/dist/core/addon/entity/entity.js +0 -50
  52. package/dist/core/addon/feature/oreFeature.d.ts +0 -19
  53. package/dist/core/addon/feature/oreFeature.js +0 -24
  54. package/dist/core/addon/featureRule.d.ts +0 -20
  55. package/dist/core/addon/featureRule.js +0 -25
  56. package/dist/core/addon/item/attachable.d.ts +0 -94
  57. package/dist/core/addon/item/attachable.js +0 -134
  58. package/dist/core/addon/item/item.d.ts +0 -19
  59. package/dist/core/addon/item/item.js +0 -26
  60. package/dist/core/addon/manifest.d.ts +0 -49
  61. package/dist/core/addon/manifest.js +0 -65
  62. package/dist/core/addon/menuCategory.d.ts +0 -6
  63. package/dist/core/addon/menuCategory.js +0 -7
  64. package/dist/core/addon/recipe/baseRecipe.d.ts +0 -12
  65. package/dist/core/addon/recipe/baseRecipe.js +0 -23
  66. package/dist/core/addon/recipe/data.d.ts +0 -66
  67. package/dist/core/addon/recipe/data.js +0 -74
  68. package/dist/core/addon/recipe/furnace.d.ts +0 -17
  69. package/dist/core/addon/recipe/furnace.js +0 -43
  70. package/dist/core/addon/recipe/shaped.d.ts +0 -26
  71. package/dist/core/addon/recipe/shaped.js +0 -53
  72. package/dist/core/addon/recipe/shapeless.d.ts +0 -18
  73. package/dist/core/addon/recipe/shapeless.js +0 -36
  74. package/dist/core/biome/biome.d.ts +0 -14
  75. package/dist/core/biome/biome.js +0 -23
  76. package/dist/core/biome/biomeComponent.d.ts +0 -46
  77. package/dist/core/biome/biomeComponent.js +0 -77
  78. package/dist/core/block/basicBlock.d.ts +0 -48
  79. package/dist/core/block/basicBlock.js +0 -105
  80. package/dist/core/block/block.d.ts +0 -32
  81. package/dist/core/block/block.js +0 -92
  82. package/dist/core/block/blockComponent.d.ts +0 -187
  83. package/dist/core/block/blockComponent.js +0 -500
  84. package/dist/core/block/cropBlock.d.ts +0 -4
  85. package/dist/core/block/cropBlock.js +0 -27
  86. package/dist/core/block/geometryBlock.d.ts +0 -12
  87. package/dist/core/block/geometryBlock.js +0 -16
  88. package/dist/core/block/oreBlock.d.ts +0 -9
  89. package/dist/core/block/oreBlock.js +0 -25
  90. package/dist/core/block/rotatableBlock.d.ts +0 -27
  91. package/dist/core/block/rotatableBlock.js +0 -107
  92. package/dist/core/block/tileBlock.d.ts +0 -17
  93. package/dist/core/block/tileBlock.js +0 -125
  94. package/dist/core/entity/basicEntity.d.ts +0 -111
  95. package/dist/core/entity/basicEntity.js +0 -170
  96. package/dist/core/entity/behavior/followMob.d.ts +0 -12
  97. package/dist/core/entity/behavior/followMob.js +0 -35
  98. package/dist/core/entity/behavior/followParent.d.ts +0 -7
  99. package/dist/core/entity/behavior/followParent.js +0 -15
  100. package/dist/core/entity/behavior/randomStroll.d.ts +0 -31
  101. package/dist/core/entity/behavior/randomStroll.js +0 -63
  102. package/dist/core/entity/behavior/tempt.d.ts +0 -73
  103. package/dist/core/entity/behavior/tempt.js +0 -134
  104. package/dist/core/entity/bundles/basicBundle.d.ts +0 -13
  105. package/dist/core/entity/bundles/basicBundle.js +0 -45
  106. package/dist/core/entity/clientEntity.d.ts +0 -20
  107. package/dist/core/entity/clientEntity.js +0 -37
  108. package/dist/core/entity/componets/entityComponet.d.ts +0 -202
  109. package/dist/core/entity/componets/entityComponet.js +0 -347
  110. package/dist/core/entity/data/nativeEntityData.d.ts +0 -9
  111. package/dist/core/entity/data/nativeEntityData.js +0 -38
  112. package/dist/core/entity/entity.d.ts +0 -15
  113. package/dist/core/entity/entity.js +0 -18
  114. package/dist/core/entity/nativeEntity.d.ts +0 -8
  115. package/dist/core/entity/nativeEntity.js +0 -28
  116. package/dist/core/entity/navigation/walk.d.ts +0 -23
  117. package/dist/core/entity/navigation/walk.js +0 -56
  118. package/dist/core/entity/projectile.d.ts +0 -3
  119. package/dist/core/entity/projectile.js +0 -7
  120. package/dist/core/factory/biomeFactory.d.ts +0 -4
  121. package/dist/core/factory/biomeFactory.js +0 -13
  122. package/dist/core/factory/blockFactory.d.ts +0 -34
  123. package/dist/core/factory/blockFactory.js +0 -143
  124. package/dist/core/factory/entityFactory.d.ts +0 -17
  125. package/dist/core/factory/entityFactory.js +0 -75
  126. package/dist/core/factory/featureFactory.d.ts +0 -6
  127. package/dist/core/factory/featureFactory.js +0 -23
  128. package/dist/core/factory/itemExtra.d.ts +0 -8
  129. package/dist/core/factory/itemExtra.js +0 -9
  130. package/dist/core/factory/itemFactory.d.ts +0 -27
  131. package/dist/core/factory/itemFactory.js +0 -112
  132. package/dist/core/factory/recipeFactory.d.ts +0 -18
  133. package/dist/core/factory/recipeFactory.js +0 -39
  134. package/dist/core/factory/uiFactory.d.ts +0 -12
  135. package/dist/core/factory/uiFactory.js +0 -32
  136. package/dist/core/feature/oreFeature.d.ts +0 -10
  137. package/dist/core/feature/oreFeature.js +0 -11
  138. package/dist/core/feature-rule/condition/biomeFilter.d.ts +0 -26
  139. package/dist/core/feature-rule/condition/biomeFilter.js +0 -36
  140. package/dist/core/feature-rule/condition/featureConditions.d.ts +0 -27
  141. package/dist/core/feature-rule/condition/featureConditions.js +0 -37
  142. package/dist/core/feature-rule/distribution/coordinateDistribution.d.ts +0 -17
  143. package/dist/core/feature-rule/distribution/coordinateDistribution.js +0 -23
  144. package/dist/core/feature-rule/distribution/featureDistribution.d.ts +0 -31
  145. package/dist/core/feature-rule/distribution/featureDistribution.js +0 -41
  146. package/dist/core/feature-rule/featureRule.d.ts +0 -17
  147. package/dist/core/feature-rule/featureRule.js +0 -26
  148. package/dist/core/index.js +0 -1
  149. package/dist/core/item/armor.d.ts +0 -21
  150. package/dist/core/item/armor.js +0 -90
  151. package/dist/core/item/attachable.d.ts +0 -6
  152. package/dist/core/item/attachable.js +0 -26
  153. package/dist/core/item/food.d.ts +0 -24
  154. package/dist/core/item/food.js +0 -38
  155. package/dist/core/item/item.d.ts +0 -36
  156. package/dist/core/item/item.js +0 -69
  157. package/dist/core/item/itemComponents.d.ts +0 -113
  158. package/dist/core/item/itemComponents.js +0 -225
  159. package/dist/core/registry.d.ts +0 -12
  160. package/dist/core/registry.js +0 -16
  161. package/dist/core/texture.d.ts +0 -18
  162. package/dist/core/texture.js +0 -38
  163. package/dist/core/ui/buttonMapping.d.ts +0 -97
  164. package/dist/core/ui/buttonMapping.js +0 -132
  165. package/dist/core/ui/dataBindingObject.d.ts +0 -97
  166. package/dist/core/ui/dataBindingObject.js +0 -134
  167. package/dist/core/ui/elements/button.d.ts +0 -21
  168. package/dist/core/ui/elements/button.js +0 -101
  169. package/dist/core/ui/elements/collectionPanel.d.ts +0 -12
  170. package/dist/core/ui/elements/collectionPanel.js +0 -53
  171. package/dist/core/ui/elements/grid.d.ts +0 -8
  172. package/dist/core/ui/elements/grid.js +0 -33
  173. package/dist/core/ui/elements/image.d.ts +0 -13
  174. package/dist/core/ui/elements/image.js +0 -55
  175. package/dist/core/ui/elements/label.d.ts +0 -14
  176. package/dist/core/ui/elements/label.js +0 -61
  177. package/dist/core/ui/elements/panel.d.ts +0 -11
  178. package/dist/core/ui/elements/panel.js +0 -49
  179. package/dist/core/ui/elements/scrollingPanel.d.ts +0 -14
  180. package/dist/core/ui/elements/scrollingPanel.js +0 -59
  181. package/dist/core/ui/elements/stackPanel.d.ts +0 -14
  182. package/dist/core/ui/elements/stackPanel.js +0 -37
  183. package/dist/core/ui/elements/uiElement.d.ts +0 -53
  184. package/dist/core/ui/elements/uiElement.js +0 -129
  185. package/dist/core/ui/properties/control.d.ts +0 -214
  186. package/dist/core/ui/properties/control.js +0 -286
  187. package/dist/core/ui/properties/dataBinding.d.ts +0 -6
  188. package/dist/core/ui/properties/dataBinding.js +0 -16
  189. package/dist/core/ui/properties/factory.d.ts +0 -37
  190. package/dist/core/ui/properties/factory.js +0 -62
  191. package/dist/core/ui/properties/gridProp.d.ts +0 -65
  192. package/dist/core/ui/properties/gridProp.js +0 -90
  193. package/dist/core/ui/properties/input.d.ts +0 -97
  194. package/dist/core/ui/properties/input.js +0 -134
  195. package/dist/core/ui/properties/layout.d.ts +0 -105
  196. package/dist/core/ui/properties/layout.js +0 -145
  197. package/dist/core/ui/properties/scrollView.d.ts +0 -105
  198. package/dist/core/ui/properties/scrollView.js +0 -145
  199. package/dist/core/ui/properties/sound.d.ts +0 -47
  200. package/dist/core/ui/properties/sound.js +0 -66
  201. package/dist/core/ui/properties/sprite.d.ts +0 -161
  202. package/dist/core/ui/properties/sprite.js +0 -222
  203. package/dist/core/ui/properties/text.d.ts +0 -135
  204. package/dist/core/ui/properties/text.js +0 -187
  205. package/dist/core/ui/registry/uiSystemRegistry.d.ts +0 -8
  206. package/dist/core/ui/registry/uiSystemRegistry.js +0 -26
  207. package/dist/core/ui/systems/chest.d.ts +0 -5
  208. package/dist/core/ui/systems/chest.js +0 -21
  209. package/dist/core/ui/systems/containerUISystem.d.ts +0 -67
  210. package/dist/core/ui/systems/containerUISystem.js +0 -214
  211. package/dist/core/ui/systems/guidebook.d.ts +0 -9
  212. package/dist/core/ui/systems/guidebook.js +0 -206
  213. package/dist/core/ui/systems/serverForm.d.ts +0 -13
  214. package/dist/core/ui/systems/serverForm.js +0 -116
  215. package/dist/core/ui/systems/system.d.ts +0 -16
  216. package/dist/core/ui/systems/system.js +0 -37
  217. package/dist/oc/index.js +0 -1
  218. package/doc/cli.md +0 -24
  219. /package/doc/hello_sapdon/{sapdon/344/275/277/347/224/250/346/225/231/347/250/213.md" → hello_sapdon.md} +0 -0
package/README.md CHANGED
@@ -81,8 +81,9 @@ hello_sapdon/
81
81
 
82
82
  ## 📚 学习资源
83
83
 
84
- - [官方文档](https://docs.sapdon.org)
85
- - [示例模组仓库](https://github.com/Meteage/sapdon/examples)
84
+ - [官方文档](./doc/)
85
+ - [入门教程](./doc/hello_sapdon)
86
+ - [示例模组仓库](./examples/)
86
87
 
87
88
 
88
89
  ## ❓ 常见问题
@@ -110,4 +111,11 @@ npm update sapdon
110
111
  - 官方 QQ 群:`810904181`
111
112
 
112
113
  ## ts支持
113
- [quick start](./doc/sapdon-ts.md)
114
+ [quick start](./doc/sapdon-ts.md)
115
+
116
+ ## 编译 Sapdon
117
+ 1. 安装依赖:`npm install`
118
+ 2. 编译:`npm run build`
119
+ 1. 查看详细输出 `npm run build -- verbose`
120
+ 2. 保存中间文件夹 `dist` `npm run build -- keep`
121
+ 3. 你也可以组合两个参数 `npm run build -- keep verbose`
package/doc/api.md CHANGED
@@ -41,8 +41,8 @@
41
41
  ##### 抛出异常
42
42
  - 当 `key` 参数缺失或不是字符串时,抛出 `Error`。
43
43
 
44
- ### `toJson()`
45
- 将物品转换为 JSON 格式,以便在游戏中定义物品。
44
+ ### `@Serializer` 装饰器
45
+ 将物品转换为 Addon JSON 对象,以便在游戏中定义物品。
46
46
 
47
47
  ##### 返回值
48
48
  - `Object`: JSON 格式的物品对象。
File without changes
package/doc/sapdon-ts.md CHANGED
@@ -18,11 +18,10 @@ import { ItemAPI } from '@sapdon/core'
18
18
  ## 从js迁移到ts
19
19
  js 的 `main.mjs` 包含了一些预定义的代码:
20
20
  ```js
21
- import { startDevServer } from '@sapdon/cli'
22
- import { GRegistry, UISystemRegistry } from '@sapdon/core'
21
+ import { registry } from '@sapdon/core'
23
22
 
24
- // 开启开发服务器, 不开启开发服务器无法使用文件同步和热更新
25
- startDevServer(GRegistry, UISystemRegistry)
23
+ // 进行注册后需进行一次提交, 通知开发服务器更新文件
24
+ registry.setup()
26
25
  ```
27
26
  如果需要从js迁移到ts,删除 `startDevServer` 那行即可(不删也没事)
28
27
 
@@ -59,4 +58,7 @@ manager.attachComponent(new MyComponent())
59
58
 
60
59
  你也可以动态增删改查组件! 这很方便!
61
60
 
62
- 如果你想看它到底是怎么回事,可以从 `examples/oc-core` 开始了解
61
+ 如果你想看它到底是怎么回事,可以从 `examples/oc-core` 开始了解
62
+
63
+ ## [Object - Component](./oc/index.md)
64
+ 关于 `@sapdon/oc` 的一切
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "sapdon",
3
- "version": "3.0.3",
3
+ "version": "3.2.0",
4
4
  "scripts": {
5
- "build": "rollup -c",
6
- "pub": "rollup -c && npm publish"
5
+ "build": "node scripts/build.cjs",
6
+ "pub": "npm run build && npm publish"
7
7
  },
8
8
  "keywords": [
9
9
  "bedrock",
@@ -14,39 +14,38 @@
14
14
  "license": "ISC",
15
15
  "type": "module",
16
16
  "bin": {
17
- "sapdon": "dist/cli/start.js"
17
+ "sapdon": "prod/cli/start.js"
18
18
  },
19
19
  "description": "Sapdon is a Node.js toolkit designed for building Bedrock Edition Minecraft addon packs.",
20
20
  "devDependencies": {
21
21
  "@minecraft/server": "^2.0.0-beta.1.21.80-preview.20",
22
22
  "@minecraft/server-ui": "^1.3.0",
23
+ "@types/lodash": "^4.17.16",
24
+ "@types/node": "^22.14.0",
25
+ "tsc-alias": "^1.8.13"
26
+ },
27
+ "dependencies": {
23
28
  "@rollup/plugin-commonjs": "^28.0.2",
24
29
  "@rollup/plugin-json": "^6.1.0",
25
30
  "@rollup/plugin-node-resolve": "^16.0.0",
26
31
  "@rollup/plugin-terser": "^0.4.4",
27
32
  "@rollup/plugin-typescript": "^12.1.2",
28
- "@types/lodash": "^4.17.16",
29
- "@types/node": "^22.13.8",
30
- "rollup": "^4.30.1",
31
- "rollup-plugin-dts": "^6.1.1",
32
- "rollup-plugin-typescript-paths": "^1.5.0",
33
- "rollup-plugin-typescript2": "^0.36.0",
34
- "rollup-plugin-visualizer": "^5.14.0",
35
- "ts-node": "^10.9.2",
36
- "tsconfig-paths": "^4.2.0",
37
- "tslib": "^2.8.1",
38
- "typescript": "^5.7.3"
39
- },
40
- "dependencies": {
41
33
  "chalk": "^5.4.1",
42
34
  "commander": "^13.0.0",
43
35
  "download-git-repo": "^3.0.2",
44
36
  "inquirer": "^12.3.1",
45
37
  "lodash": "^4.17.21",
46
- "ora": "^8.1.1"
38
+ "ora": "^8.1.1",
39
+ "rollup": "^4.39.0",
40
+ "rollup-plugin-dts": "^6.2.1",
41
+ "rollup-plugin-typescript-paths": "^1.5.0",
42
+ "rollup-plugin-visualizer": "^5.14.0",
43
+ "tsconfig-paths": "^4.2.0",
44
+ "tslib": "^2.8.1",
45
+ "typescript": "^5.8.2"
47
46
  },
48
47
  "files": [
49
- "dist/**/*",
48
+ "prod/**/*",
50
49
  "doc/**/*"
51
50
  ]
52
51
  }
@@ -1,5 +1,6 @@
1
1
  import http from 'http';
2
- type ServerHandler = (...args: Transferable[]) => void;
2
+
3
+ type ServerHandler = (...args: any[]) => void | Promise<void>;
3
4
  type HandlerInterceptor = (handler: ServerHandler) => ServerHandler;
4
5
  declare class DevelopmentServer {
5
6
  readonly cliServerHandlers: Map<string, ServerHandler>;
@@ -10,5 +11,10 @@ declare class DevelopmentServer {
10
11
  getHandler(url: string): ServerHandler | undefined;
11
12
  interceptHandler(url: string, interceptor: HandlerInterceptor): ServerHandler;
12
13
  }
13
- export declare const server: DevelopmentServer;
14
- export {};
14
+ declare const server: DevelopmentServer;
15
+
16
+ declare namespace client {
17
+ function call(name: any, ...args: any[]): Promise<void>;
18
+ }
19
+
20
+ export { client, server as devServer };
@@ -0,0 +1 @@
1
+ import e from"http";Symbol.metadata||(Symbol.metadata=Symbol("[[metadata]]"));const t=Symbol("isRawJSON");const r=["boolean","number"],n=["string","undefined"];function o(e,o){const i=typeof o;if(null===i)return null;if(n.includes(i))return o;if(r.includes(i))return JSON.rawJSON(o);if("object"===i)return JSON.isRawJSON(o)?o:function(e){return!0===e?.[t]}(o)?JSON.rawJSON(o.rawJSON):o;if("bigint"===i)return JSON.rawJSON(o.toString());throw new Error("Unexpected value")}const i={encode:e=>JSON.stringify(e,o),decode:JSON.parse};function s(e,t=i){return t.encode(e)}const a={port:49037},{port:c}=a;const{port:l}=a;const d=new class{cliServerHandlers=new Map;listening=!1;isListening(){return this.listening}bootstrap(){this.listening=!0;const t=e.createServer((async(e,t)=>{const r=this.cliServerHandlers.get((e.url??"/").slice(1));if(r){try{const{promise:t,resolve:n,reject:o}=Promise.withResolvers();let s=Buffer.alloc(0);e.on("data",(e=>s=Buffer.concat([s,e]))),e.on("end",(()=>{try{n(function(e,t=i){return t.decode(e)}(s))}catch(e){o(e)}})),await r(...await t)}catch(e){return console.error(e),t.writeHead(500),void t.end()}t.writeHead(200),t.end()}else t.writeHead(404),t.end()})).listen(l,(()=>console.log(`Dev Server listening on port ${l}`)));return t.on("error",(()=>this.listening=!1)),t}handle(e,t){this.cliServerHandlers.set(e,t)}getHandler(e){return this.cliServerHandlers.get(e)}interceptHandler(e,t){const r=t(this.getHandler(e)??Function.prototype);return this.cliServerHandlers.set(e,r),r}},u={call:async(e,...t)=>await async function(e,...t){try{await fetch(`http://localhost:${c}/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:s(t)})}catch(e){console.error(e),console.error("尝试在构建脚本中使用 server.startDevServer() 启动开发服务器")}}(e,...t)};export{u as client,d as devServer};