minerender 2.0.0-alpha.1 → 2.0.0-alpha.2

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 (284) hide show
  1. package/package.json +3 -2
  2. package/dist/bundle.js +0 -106338
  3. package/dist/esm/AnimatorFunction.d.ts +0 -3
  4. package/dist/esm/AnimatorFunction.js +0 -2
  5. package/dist/esm/AnimatorFunction.js.map +0 -1
  6. package/dist/esm/Axis.d.ts +0 -8
  7. package/dist/esm/Axis.js +0 -19
  8. package/dist/esm/Axis.js.map +0 -1
  9. package/dist/esm/CubeFace.d.ts +0 -17
  10. package/dist/esm/CubeFace.js +0 -20
  11. package/dist/esm/CubeFace.js.map +0 -1
  12. package/dist/esm/Disposable.d.ts +0 -4
  13. package/dist/esm/Disposable.js +0 -4
  14. package/dist/esm/Disposable.js.map +0 -1
  15. package/dist/esm/Env.d.ts +0 -2
  16. package/dist/esm/Env.js +0 -3
  17. package/dist/esm/Env.js.map +0 -1
  18. package/dist/esm/ExtractableImageData.d.ts +0 -5
  19. package/dist/esm/ExtractableImageData.js +0 -2
  20. package/dist/esm/ExtractableImageData.js.map +0 -1
  21. package/dist/esm/Geometries.d.ts +0 -6
  22. package/dist/esm/Geometries.js +0 -88
  23. package/dist/esm/Geometries.js.map +0 -1
  24. package/dist/esm/ListAsset.d.ts +0 -5
  25. package/dist/esm/ListAsset.js +0 -2
  26. package/dist/esm/ListAsset.js.map +0 -1
  27. package/dist/esm/Materials.d.ts +0 -9
  28. package/dist/esm/Materials.js +0 -147
  29. package/dist/esm/Materials.js.map +0 -1
  30. package/dist/esm/Meshes.d.ts +0 -6
  31. package/dist/esm/Meshes.js +0 -17
  32. package/dist/esm/Meshes.js.map +0 -1
  33. package/dist/esm/MinecraftAsset.d.ts +0 -7
  34. package/dist/esm/MinecraftAsset.js +0 -2
  35. package/dist/esm/MinecraftAsset.js.map +0 -1
  36. package/dist/esm/MinecraftCubeTexture.d.ts +0 -26
  37. package/dist/esm/MinecraftCubeTexture.js +0 -100
  38. package/dist/esm/MinecraftCubeTexture.js.map +0 -1
  39. package/dist/esm/MinecraftTextureMeta.d.ts +0 -15
  40. package/dist/esm/MinecraftTextureMeta.js +0 -2
  41. package/dist/esm/MinecraftTextureMeta.js.map +0 -1
  42. package/dist/esm/SceneStats.d.ts +0 -5
  43. package/dist/esm/SceneStats.js +0 -8
  44. package/dist/esm/SceneStats.js.map +0 -1
  45. package/dist/esm/Serializable.d.ts +0 -3
  46. package/dist/esm/Serializable.js +0 -2
  47. package/dist/esm/Serializable.js.map +0 -1
  48. package/dist/esm/Ticker.d.ts +0 -20
  49. package/dist/esm/Ticker.js +0 -51
  50. package/dist/esm/Ticker.js.map +0 -1
  51. package/dist/esm/TintColors.d.ts +0 -1
  52. package/dist/esm/TintColors.js +0 -2
  53. package/dist/esm/TintColors.js.map +0 -1
  54. package/dist/esm/Transformable.d.ts +0 -11
  55. package/dist/esm/Transformable.js +0 -4
  56. package/dist/esm/Transformable.js.map +0 -1
  57. package/dist/esm/UVMapper.d.ts +0 -40
  58. package/dist/esm/UVMapper.js +0 -429
  59. package/dist/esm/UVMapper.js.map +0 -1
  60. package/dist/esm/WrappedImage.d.ts +0 -17
  61. package/dist/esm/WrappedImage.js +0 -46
  62. package/dist/esm/WrappedImage.js.map +0 -1
  63. package/dist/esm/_model/Cube.d.ts +0 -10
  64. package/dist/esm/_model/Cube.js +0 -2
  65. package/dist/esm/_model/Cube.js.map +0 -1
  66. package/dist/esm/_model/Element.d.ts +0 -9
  67. package/dist/esm/_model/Element.js +0 -2
  68. package/dist/esm/_model/Element.js.map +0 -1
  69. package/dist/esm/_model/Face.d.ts +0 -6
  70. package/dist/esm/_model/Face.js +0 -2
  71. package/dist/esm/_model/Face.js.map +0 -1
  72. package/dist/esm/_model/Model.d.ts +0 -4
  73. package/dist/esm/_model/Model.js +0 -2
  74. package/dist/esm/_model/Model.js.map +0 -1
  75. package/dist/esm/assets/AssetKey.d.ts +0 -26
  76. package/dist/esm/assets/AssetKey.js +0 -76
  77. package/dist/esm/assets/AssetKey.js.map +0 -1
  78. package/dist/esm/assets/AssetLoader.d.ts +0 -26
  79. package/dist/esm/assets/AssetLoader.js +0 -149
  80. package/dist/esm/assets/AssetLoader.js.map +0 -1
  81. package/dist/esm/assets/Assets.d.ts +0 -14
  82. package/dist/esm/assets/Assets.js +0 -33
  83. package/dist/esm/assets/Assets.js.map +0 -1
  84. package/dist/esm/assets/BlockStates.d.ts +0 -11
  85. package/dist/esm/assets/BlockStates.js +0 -68
  86. package/dist/esm/assets/BlockStates.js.map +0 -1
  87. package/dist/esm/assets/Entities.d.ts +0 -8
  88. package/dist/esm/assets/Entities.js +0 -50
  89. package/dist/esm/assets/Entities.js.map +0 -1
  90. package/dist/esm/assets/ModelTextures.d.ts +0 -12
  91. package/dist/esm/assets/ModelTextures.js +0 -62
  92. package/dist/esm/assets/ModelTextures.js.map +0 -1
  93. package/dist/esm/assets/Models.d.ts +0 -12
  94. package/dist/esm/assets/Models.js +0 -91
  95. package/dist/esm/assets/Models.js.map +0 -1
  96. package/dist/esm/bedrock/BedrockEntityDescription.d.ts +0 -19
  97. package/dist/esm/bedrock/BedrockEntityDescription.js +0 -2
  98. package/dist/esm/bedrock/BedrockEntityDescription.js.map +0 -1
  99. package/dist/esm/bedrock/BedrockEntityFile.d.ts +0 -7
  100. package/dist/esm/bedrock/BedrockEntityFile.js +0 -2
  101. package/dist/esm/bedrock/BedrockEntityFile.js.map +0 -1
  102. package/dist/esm/bedrock/BedrockGeometry.d.ts +0 -27
  103. package/dist/esm/bedrock/BedrockGeometry.js +0 -2
  104. package/dist/esm/bedrock/BedrockGeometry.js.map +0 -1
  105. package/dist/esm/bedrock/BedrockGeometryFile.d.ts +0 -5
  106. package/dist/esm/bedrock/BedrockGeometryFile.js +0 -2
  107. package/dist/esm/bedrock/BedrockGeometryFile.js.map +0 -1
  108. package/dist/esm/cache/CacheKey.d.ts +0 -28
  109. package/dist/esm/cache/CacheKey.js +0 -19
  110. package/dist/esm/cache/CacheKey.js.map +0 -1
  111. package/dist/esm/cache/Caching.d.ts +0 -29
  112. package/dist/esm/cache/Caching.js +0 -89
  113. package/dist/esm/cache/Caching.js.map +0 -1
  114. package/dist/esm/cache/PersistentCache.d.ts +0 -15
  115. package/dist/esm/cache/PersistentCache.js +0 -105
  116. package/dist/esm/cache/PersistentCache.js.map +0 -1
  117. package/dist/esm/canvas/CanvasCompat.d.ts +0 -5
  118. package/dist/esm/canvas/CanvasCompat.js +0 -29
  119. package/dist/esm/canvas/CanvasCompat.js.map +0 -1
  120. package/dist/esm/canvas/CanvasImage.d.ts +0 -18
  121. package/dist/esm/canvas/CanvasImage.js +0 -41
  122. package/dist/esm/canvas/CanvasImage.js.map +0 -1
  123. package/dist/esm/entity/EntityModel.d.ts +0 -7
  124. package/dist/esm/entity/EntityModel.js +0 -2
  125. package/dist/esm/entity/EntityModel.js.map +0 -1
  126. package/dist/esm/entity/blockEntityModels.json +0 -1401
  127. package/dist/esm/entity/entityModels.json +0 -20623
  128. package/dist/esm/entity/scene/EntityObject.d.ts +0 -20
  129. package/dist/esm/entity/scene/EntityObject.js +0 -104
  130. package/dist/esm/entity/scene/EntityObject.js.map +0 -1
  131. package/dist/esm/error/MineRenderError.d.ts +0 -4
  132. package/dist/esm/error/MineRenderError.js +0 -11
  133. package/dist/esm/error/MineRenderError.js.map +0 -1
  134. package/dist/esm/gui/scene/GuiObject.d.ts +0 -6
  135. package/dist/esm/gui/scene/GuiObject.js +0 -4
  136. package/dist/esm/gui/scene/GuiObject.js.map +0 -1
  137. package/dist/esm/image/ImageLoader.d.ts +0 -28
  138. package/dist/esm/image/ImageLoader.js +0 -159
  139. package/dist/esm/image/ImageLoader.js.map +0 -1
  140. package/dist/esm/index.d.ts +0 -28
  141. package/dist/esm/index.js +0 -31
  142. package/dist/esm/index.js.map +0 -1
  143. package/dist/esm/inspector/SceneInspector.d.ts +0 -27
  144. package/dist/esm/inspector/SceneInspector.js +0 -362
  145. package/dist/esm/inspector/SceneInspector.js.map +0 -1
  146. package/dist/esm/inspector/SceneStats.d.ts +0 -22
  147. package/dist/esm/inspector/SceneStats.js +0 -49
  148. package/dist/esm/inspector/SceneStats.js.map +0 -1
  149. package/dist/esm/instance/InstanceManager.d.ts +0 -14
  150. package/dist/esm/instance/InstanceManager.js +0 -53
  151. package/dist/esm/instance/InstanceManager.js.map +0 -1
  152. package/dist/esm/instance/InstanceReference.d.ts +0 -21
  153. package/dist/esm/instance/InstanceReference.js +0 -44
  154. package/dist/esm/instance/InstanceReference.js.map +0 -1
  155. package/dist/esm/instance/Instanceable.d.ts +0 -16
  156. package/dist/esm/instance/Instanceable.js +0 -4
  157. package/dist/esm/instance/Instanceable.js.map +0 -1
  158. package/dist/esm/lib/OrbitControls.d.ts +0 -64
  159. package/dist/esm/lib/OrbitControls.js +0 -636
  160. package/dist/esm/lib/OrbitControls.js.map +0 -1
  161. package/dist/esm/model/DisplayPosition.d.ts +0 -11
  162. package/dist/esm/model/DisplayPosition.js +0 -13
  163. package/dist/esm/model/DisplayPosition.js.map +0 -1
  164. package/dist/esm/model/ElementFace.d.ts +0 -9
  165. package/dist/esm/model/ElementFace.js +0 -2
  166. package/dist/esm/model/ElementFace.js.map +0 -1
  167. package/dist/esm/model/GuiLight.d.ts +0 -4
  168. package/dist/esm/model/GuiLight.js +0 -6
  169. package/dist/esm/model/GuiLight.js.map +0 -1
  170. package/dist/esm/model/Model.d.ts +0 -46
  171. package/dist/esm/model/Model.js +0 -14
  172. package/dist/esm/model/Model.js.map +0 -1
  173. package/dist/esm/model/ModelElement.d.ts +0 -21
  174. package/dist/esm/model/ModelElement.js +0 -2
  175. package/dist/esm/model/ModelElement.js.map +0 -1
  176. package/dist/esm/model/ModelGenerator.d.ts +0 -6
  177. package/dist/esm/model/ModelGenerator.js +0 -23
  178. package/dist/esm/model/ModelGenerator.js.map +0 -1
  179. package/dist/esm/model/ModelMerger.d.ts +0 -5
  180. package/dist/esm/model/ModelMerger.js +0 -44
  181. package/dist/esm/model/ModelMerger.js.map +0 -1
  182. package/dist/esm/model/ModelPart.d.ts +0 -23
  183. package/dist/esm/model/ModelPart.js +0 -2
  184. package/dist/esm/model/ModelPart.js.map +0 -1
  185. package/dist/esm/model/block/Block.d.ts +0 -6
  186. package/dist/esm/model/block/Block.js +0 -2
  187. package/dist/esm/model/block/Block.js.map +0 -1
  188. package/dist/esm/model/block/BlockState.d.ts +0 -23
  189. package/dist/esm/model/block/BlockState.js +0 -2
  190. package/dist/esm/model/block/BlockState.js.map +0 -1
  191. package/dist/esm/model/block/BlockStateProperties.d.ts +0 -13
  192. package/dist/esm/model/block/BlockStateProperties.js +0 -2
  193. package/dist/esm/model/block/BlockStateProperties.js.map +0 -1
  194. package/dist/esm/model/block/scene/BlockObject.d.ts +0 -46
  195. package/dist/esm/model/block/scene/BlockObject.js +0 -460
  196. package/dist/esm/model/block/scene/BlockObject.js.map +0 -1
  197. package/dist/esm/model/defaultBlockStates.json +0 -12337
  198. package/dist/esm/model/multiblock/MultiBlockStructure.d.ts +0 -9
  199. package/dist/esm/model/multiblock/MultiBlockStructure.js +0 -2
  200. package/dist/esm/model/multiblock/MultiBlockStructure.js.map +0 -1
  201. package/dist/esm/model/multiblock/SchematicParser.d.ts +0 -4
  202. package/dist/esm/model/multiblock/SchematicParser.js +0 -19
  203. package/dist/esm/model/multiblock/SchematicParser.js.map +0 -1
  204. package/dist/esm/model/multiblock/StructureParser.d.ts +0 -70
  205. package/dist/esm/model/multiblock/StructureParser.js +0 -48
  206. package/dist/esm/model/multiblock/StructureParser.js.map +0 -1
  207. package/dist/esm/model/scene/ModelObject.d.ts +0 -25
  208. package/dist/esm/model/scene/ModelObject.js +0 -155
  209. package/dist/esm/model/scene/ModelObject.js.map +0 -1
  210. package/dist/esm/nbt/NBTHelper.d.ts +0 -8
  211. package/dist/esm/nbt/NBTHelper.js +0 -19
  212. package/dist/esm/nbt/NBTHelper.js.map +0 -1
  213. package/dist/esm/renderer/MineRenderScene.d.ts +0 -35
  214. package/dist/esm/renderer/MineRenderScene.js +0 -124
  215. package/dist/esm/renderer/MineRenderScene.js.map +0 -1
  216. package/dist/esm/renderer/Renderer.d.ts +0 -83
  217. package/dist/esm/renderer/Renderer.js +0 -260
  218. package/dist/esm/renderer/Renderer.js.map +0 -1
  219. package/dist/esm/renderer/SceneObject.d.ts +0 -81
  220. package/dist/esm/renderer/SceneObject.js +0 -392
  221. package/dist/esm/renderer/SceneObject.js.map +0 -1
  222. package/dist/esm/renderer/SceneObjectOptions.d.ts +0 -6
  223. package/dist/esm/renderer/SceneObjectOptions.js +0 -2
  224. package/dist/esm/renderer/SceneObjectOptions.js.map +0 -1
  225. package/dist/esm/request/Requests.d.ts +0 -12
  226. package/dist/esm/request/Requests.js +0 -32
  227. package/dist/esm/request/Requests.js.map +0 -1
  228. package/dist/esm/skin/SkinGeometries.d.ts +0 -5
  229. package/dist/esm/skin/SkinGeometries.js +0 -33
  230. package/dist/esm/skin/SkinGeometries.js.map +0 -1
  231. package/dist/esm/skin/SkinPart.d.ts +0 -16
  232. package/dist/esm/skin/SkinPart.js +0 -18
  233. package/dist/esm/skin/SkinPart.js.map +0 -1
  234. package/dist/esm/skin/SkinTextureCoordinates.d.ts +0 -5
  235. package/dist/esm/skin/SkinTextureCoordinates.js +0 -748
  236. package/dist/esm/skin/SkinTextureCoordinates.js.map +0 -1
  237. package/dist/esm/skin/Skins.d.ts +0 -17
  238. package/dist/esm/skin/Skins.js +0 -164
  239. package/dist/esm/skin/Skins.js.map +0 -1
  240. package/dist/esm/skin/scene/SkinObject.d.ts +0 -21
  241. package/dist/esm/skin/scene/SkinObject.js +0 -112
  242. package/dist/esm/skin/scene/SkinObject.js.map +0 -1
  243. package/dist/esm/texture/TextureAtlas.d.ts +0 -29
  244. package/dist/esm/texture/TextureAtlas.js +0 -22
  245. package/dist/esm/texture/TextureAtlas.js.map +0 -1
  246. package/dist/esm/texture/TextureLoader.d.ts +0 -6
  247. package/dist/esm/texture/TextureLoader.js +0 -30
  248. package/dist/esm/texture/TextureLoader.js.map +0 -1
  249. package/dist/esm/texture/Textures.d.ts +0 -10
  250. package/dist/esm/texture/Textures.js +0 -29
  251. package/dist/esm/texture/Textures.js.map +0 -1
  252. package/dist/esm/three/BufferGeometryUtils.d.ts +0 -44
  253. package/dist/esm/three/BufferGeometryUtils.js +0 -544
  254. package/dist/esm/three/BufferGeometryUtils.js.map +0 -1
  255. package/dist/esm/three/OrbitControls.d.ts +0 -59
  256. package/dist/esm/three/OrbitControls.js +0 -786
  257. package/dist/esm/three/OrbitControls.js.map +0 -1
  258. package/dist/esm/util/BatchedExecutor.d.ts +0 -12
  259. package/dist/esm/util/BatchedExecutor.js +0 -22
  260. package/dist/esm/util/BatchedExecutor.js.map +0 -1
  261. package/dist/esm/util/log.d.ts +0 -1
  262. package/dist/esm/util/log.js +0 -28
  263. package/dist/esm/util/log.js.map +0 -1
  264. package/dist/esm/util/model.d.ts +0 -11
  265. package/dist/esm/util/model.js +0 -173
  266. package/dist/esm/util/model.js.map +0 -1
  267. package/dist/esm/util/performance.d.ts +0 -3
  268. package/dist/esm/util/performance.js +0 -13
  269. package/dist/esm/util/performance.js.map +0 -1
  270. package/dist/esm/util/three.d.ts +0 -8
  271. package/dist/esm/util/three.js +0 -19
  272. package/dist/esm/util/three.js.map +0 -1
  273. package/dist/esm/util/util.d.ts +0 -19
  274. package/dist/esm/util/util.js +0 -107
  275. package/dist/esm/util/util.js.map +0 -1
  276. package/dist/esm/world/BlockInfo.d.ts +0 -6
  277. package/dist/esm/world/BlockInfo.js +0 -2
  278. package/dist/esm/world/BlockInfo.js.map +0 -1
  279. package/dist/esm/world/Chunk.d.ts +0 -33
  280. package/dist/esm/world/Chunk.js +0 -128
  281. package/dist/esm/world/Chunk.js.map +0 -1
  282. package/dist/esm/world/MineRenderWorld.d.ts +0 -31
  283. package/dist/esm/world/MineRenderWorld.js +0 -129
  284. package/dist/esm/world/MineRenderWorld.js.map +0 -1
@@ -1,3 +0,0 @@
1
- export interface Serializable {
2
- serialize(): string;
3
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Serializable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Serializable.js","sourceRoot":"src/","sources":["Serializable.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- export interface TickerFunction {
2
- (): void;
3
- }
4
- export declare class Ticker {
5
- private static counter;
6
- private static readonly _tickers;
7
- private static readonly interval;
8
- private static oneSecondTps;
9
- private static oneSecondTicks;
10
- private static oneSecondTicksTracker;
11
- private static fiveSecondTps;
12
- private static fiveSecondTicks;
13
- private static fiveSecondTicksTracker;
14
- static add(tick: TickerFunction): number;
15
- static remove(c?: number): void;
16
- static get tickers(): Map<number, TickerFunction>;
17
- static get tpsOneSecond(): number;
18
- static get tpsFiveSeconds(): number;
19
- static dispose(): void;
20
- }
@@ -1,51 +0,0 @@
1
- export class Ticker {
2
- static add(tick) {
3
- const c = this.counter++;
4
- this._tickers.set(c, tick);
5
- return c;
6
- }
7
- static remove(c) {
8
- if (c)
9
- this._tickers.delete(c);
10
- }
11
- static get tickers() {
12
- return this._tickers;
13
- }
14
- static get tpsOneSecond() {
15
- return this.oneSecondTps;
16
- }
17
- static get tpsFiveSeconds() {
18
- return this.fiveSecondTps;
19
- }
20
- static dispose() {
21
- clearInterval(this.interval);
22
- clearInterval(this.fiveSecondTicksTracker);
23
- }
24
- }
25
- Ticker.counter = 0;
26
- Ticker._tickers = new Map();
27
- Ticker.interval = setInterval(() => {
28
- Ticker._tickers.forEach(t => {
29
- try {
30
- t();
31
- }
32
- catch (e) {
33
- console.warn(e);
34
- }
35
- });
36
- Ticker.oneSecondTicks++;
37
- Ticker.fiveSecondTicks++;
38
- }, 1000 / 20);
39
- Ticker.oneSecondTps = 0;
40
- Ticker.oneSecondTicks = 0;
41
- Ticker.oneSecondTicksTracker = setInterval(() => {
42
- Ticker.oneSecondTps = Ticker.oneSecondTicks;
43
- Ticker.oneSecondTicks = 0;
44
- }, 1000);
45
- Ticker.fiveSecondTps = 0;
46
- Ticker.fiveSecondTicks = 0;
47
- Ticker.fiveSecondTicksTracker = setInterval(() => {
48
- Ticker.fiveSecondTps = Ticker.fiveSecondTicks / 5;
49
- Ticker.fiveSecondTicks = 0;
50
- }, 1000 * 5);
51
- //# sourceMappingURL=Ticker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Ticker.js","sourceRoot":"src/","sources":["Ticker.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,MAAM;IA+BR,MAAM,CAAC,GAAG,CAAC,IAAoB;QAClC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACb,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,CAAU;QAC3B,IAAI,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,KAAK,OAAO;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,MAAM,KAAK,YAAY;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAEM,MAAM,KAAK,cAAc;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,OAAO;QACjB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;;AAtDc,cAAO,GAAW,CAAC,CAAC;AACX,eAAQ,GAAgC,IAAI,GAAG,EAA0B,CAAC;AAE1E,eAAQ,GAAY,WAAW,CAAC,GAAG,EAAE;IACzD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACxB,IAAG;YACC,CAAC,EAAE,CAAA;SACN;QAAA,OAAO,CAAC,EAAE;YACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACnB;IACL,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,CAAC,eAAe,EAAE,CAAC;AAC7B,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAEC,mBAAY,GAAG,CAAC,CAAC;AACjB,qBAAc,GAAG,CAAC,CAAC;AACnB,4BAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;IACpD,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;IAC5C,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;AAC9B,CAAC,EAAE,IAAI,CAAC,CAAC;AAEM,oBAAa,GAAG,CAAC,CAAC;AAClB,sBAAe,GAAG,CAAC,CAAC;AACpB,6BAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;IACrD,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;IAClD,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;AAC/B,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export declare const TintColors: never[];
@@ -1,2 +0,0 @@
1
- export const TintColors = [];
2
- //# sourceMappingURL=TintColors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TintColors.js","sourceRoot":"src/","sources":["TintColors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,EAEzB,CAAA"}
@@ -1,11 +0,0 @@
1
- import { Euler, Vector3 } from "three";
2
- export interface Transformable {
3
- setPositionRotationScale(position?: Vector3, rotation?: Euler, scale?: Vector3): void;
4
- setPosition(position: Vector3): void;
5
- getPosition(): Vector3;
6
- setRotation(rotation: Euler): void;
7
- getRotation(): Euler;
8
- setScale(scale: Vector3): void;
9
- getScale(): Vector3;
10
- }
11
- export declare function isTransformable(obj: any): obj is Transformable;
@@ -1,4 +0,0 @@
1
- export function isTransformable(obj) {
2
- return "setPosition" in obj && "setRotation" in obj && "setScale" in obj;
3
- }
4
- //# sourceMappingURL=Transformable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Transformable.js","sourceRoot":"src/","sources":["Transformable.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,eAAe,CAAC,GAAQ;IACpC,OAAO,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,CAAC;AAC7E,CAAC"}
@@ -1,40 +0,0 @@
1
- import { BoxGeometry, BufferAttribute, Float32BufferAttribute, Vector2 } from "three";
2
- import { DoubleArray, Model, QuadArray } from "./model/Model";
3
- import { ModelElement, ModelFaces } from "./model/ModelElement";
4
- import { CubeFace } from "./CubeFace";
5
- import { ModelTextures } from "./assets/ModelTextures";
6
- import { Maybe } from "./util/util";
7
- import { TextureAtlas } from "./texture/TextureAtlas";
8
- export declare const DEFAULT_UV: QuadArray;
9
- export declare class UVMapper {
10
- protected static makeUv(uvCoord: number, originalTextureSize: number, actualTextureSize: number): number;
11
- protected static makeUvCoords([originalTextureWidth, originalTextureHeight]: DoubleArray, [actualTextureWidth, actualTextureHeight]: DoubleArray, [x1, y1, x2, y2]: QuadArray): QuadArray;
12
- static rotateSingleUv([u, v]: DoubleArray, [px, py]: DoubleArray, radians: number): DoubleArray;
13
- static addCubeFaceUvToArray(array: number[], faceIndex: number, originalTextureSize: DoubleArray, actualTextureSize: DoubleArray, originalCoords: QuadArray): void;
14
- static setCubeFaceUvInArray(array: number[], faceIndex: number, [u1, v1, u2, v2]: QuadArray): void;
15
- static setFaceUvInArrayV(array: number[], faceIndex: number, uvs: QuadArray<Vector2>): void;
16
- static setFaceUvInArray(array: number[], faceIndex: number, uvs: QuadArray<DoubleArray>): void;
17
- static setCubeFaceUvAttribute(attributes: BufferAttribute, faceIndex: number, originalTextureSize: DoubleArray, actualTextureSize: DoubleArray, originalCoords: QuadArray): void;
18
- static setCubeFaceUvInAttribute(attributes: BufferAttribute, faceIndex: number, [u1, v1, u2, v2]: QuadArray): void;
19
- static setCubeUvs(geometry: BoxGeometry, originalTextureSize: DoubleArray, actualTextureSize: DoubleArray, faces: ModelFaces): void;
20
- static facesToUvArray(faces: ModelFaces, originalTextureSize: DoubleArray, actualTextureSize: DoubleArray): number[];
21
- static facesToUv(faces: ModelFaces, originalTextureSize: DoubleArray, actualTextureSize: DoubleArray): Float32BufferAttribute;
22
- static getAtlas(model: Model): Promise<Maybe<TextureAtlas>>;
23
- static fillMissingTextureKeys<T>(textures: ModelTextures, target: {
24
- [k: string]: T;
25
- }): {
26
- [k: string]: T;
27
- };
28
- protected static getFallbackUv(element: ModelElement, faceName: CubeFace): QuadArray;
29
- protected static expandAndRotateMcUvs([u1, v1, u2, v2]: QuadArray, rotation: number | undefined, actualWidth: number, actualHeight: number): QuadArray<Vector2>;
30
- static createAtlas(originalModel: Model): Promise<Maybe<TextureAtlas>>;
31
- }
32
- export declare class MinecraftFaceUV {
33
- readonly uv: QuadArray;
34
- readonly rotation: number;
35
- constructor(uv?: QuadArray, rotation?: number);
36
- getU(index: number): number;
37
- getV(index: number): number;
38
- protected getShiftedIndex(index: number): number;
39
- protected getReverseIndex(index: number): number;
40
- }
@@ -1,429 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { Float32BufferAttribute, Vector2 } from "three";
11
- import { CUBE_FACES, CubeFace } from "./CubeFace";
12
- import { ModelTextures } from "./assets/ModelTextures";
13
- import { WrappedImage } from "./WrappedImage";
14
- import { CanvasImage } from "./canvas/CanvasImage";
15
- import { TextureAtlas } from "./texture/TextureAtlas";
16
- import { Caching } from "./cache/Caching";
17
- import { ImageLoader } from "./image/ImageLoader";
18
- import { AssetKey } from "./assets/AssetKey";
19
- import { ModelGenerator } from "./model/ModelGenerator";
20
- import { prefix } from "./util/log";
21
- const p = prefix("UVMapper");
22
- export const DEFAULT_UV = [0, 0, 16, 16];
23
- const X = 0;
24
- const Y = 1;
25
- const Z = 2;
26
- /*
27
- * - Minecraft Block UVs are from the top-left to bottom-right
28
- * - three.js UVs are from the bottom-left to top-right
29
- * - canvas coordinates are from the top-left to bottom-right
30
- */
31
- // noinspection PointlessArithmeticExpressionJS
32
- export class UVMapper {
33
- static makeUv(uvCoord, originalTextureSize, actualTextureSize) {
34
- if (uvCoord === 0)
35
- return 0;
36
- return (actualTextureSize / originalTextureSize) * (uvCoord / originalTextureSize);
37
- }
38
- static makeUvCoords([originalTextureWidth, originalTextureHeight], [actualTextureWidth, actualTextureHeight], [x1, y1, x2, y2]) {
39
- // Flip from top-to-bottom coordinates to bottom-to-top ones
40
- y1 = originalTextureHeight - y1;
41
- y2 = originalTextureHeight - y2;
42
- const u1 = this.makeUv(x1, originalTextureWidth, actualTextureWidth);
43
- const v1 = this.makeUv(y1, originalTextureHeight, actualTextureHeight);
44
- const u2 = this.makeUv(x2, originalTextureWidth, actualTextureWidth);
45
- const v2 = this.makeUv(y2, originalTextureHeight, actualTextureHeight);
46
- return [u1, v1, u2, v2];
47
- }
48
- static rotateSingleUv([u, v], [px, py], radians) {
49
- const sin = Math.sin(radians);
50
- const cos = Math.cos(radians);
51
- u -= px;
52
- v -= py;
53
- const uc = u;
54
- const vc = v;
55
- u = cos * uc - sin * vc;
56
- v = cos * vc + sin * uc;
57
- u += px;
58
- v += py;
59
- // return [parseFloat(u.toFixed(8)), parseFloat(v.toFixed(8))];
60
- return [u, v];
61
- }
62
- static addCubeFaceUvToArray(array, faceIndex, originalTextureSize, actualTextureSize, originalCoords) {
63
- const uv = this.makeUvCoords(originalTextureSize, actualTextureSize, originalCoords);
64
- this.setCubeFaceUvInArray(array, faceIndex, uv);
65
- }
66
- static setCubeFaceUvInArray(array, faceIndex, [u1, v1, u2, v2]) {
67
- let a = [u1, v1]; // top left
68
- let b = [u2, v1]; // top right
69
- let c = [u1, v2]; // bottom left
70
- let d = [u2, v2]; // bottom right
71
- let uvs = [a, b, c, d];
72
- this.setFaceUvInArray(array, faceIndex, uvs);
73
- }
74
- static setFaceUvInArrayV(array, faceIndex, uvs) {
75
- array[((faceIndex + 0) * 2) + 0] = uvs[0].x;
76
- array[((faceIndex + 0) * 2) + 1] = uvs[0].y;
77
- array[((faceIndex + 1) * 2) + 0] = uvs[1].x;
78
- array[((faceIndex + 1) * 2) + 1] = uvs[1].y;
79
- array[((faceIndex + 2) * 2) + 0] = uvs[2].x;
80
- array[((faceIndex + 2) * 2) + 1] = uvs[2].y;
81
- array[((faceIndex + 3) * 2) + 0] = uvs[3].x;
82
- array[((faceIndex + 3) * 2) + 1] = uvs[3].y;
83
- }
84
- static setFaceUvInArray(array, faceIndex, uvs) {
85
- array[((faceIndex + 0) * 2) + 0] = uvs[0][0];
86
- array[((faceIndex + 0) * 2) + 1] = uvs[0][1];
87
- array[((faceIndex + 1) * 2) + 0] = uvs[1][0];
88
- array[((faceIndex + 1) * 2) + 1] = uvs[1][1];
89
- array[((faceIndex + 2) * 2) + 0] = uvs[2][0];
90
- array[((faceIndex + 2) * 2) + 1] = uvs[2][1];
91
- array[((faceIndex + 3) * 2) + 0] = uvs[3][0];
92
- array[((faceIndex + 3) * 2) + 1] = uvs[3][1];
93
- }
94
- static setCubeFaceUvAttribute(attributes, faceIndex, originalTextureSize, actualTextureSize, originalCoords) {
95
- const uv = this.makeUvCoords(originalTextureSize, actualTextureSize, originalCoords);
96
- this.setCubeFaceUvInAttribute(attributes, faceIndex, uv);
97
- }
98
- static setCubeFaceUvInAttribute(attributes, faceIndex, [u1, v1, u2, v2]) {
99
- attributes.setXY(faceIndex + 0, u1, v1);
100
- attributes.setXY(faceIndex + 1, u2, v1);
101
- attributes.setXY(faceIndex + 2, u1, v2);
102
- attributes.setXY(faceIndex + 3, u2, v2);
103
- }
104
- static setCubeUvs(geometry, originalTextureSize, actualTextureSize, faces) {
105
- const attributes = geometry.getAttribute("uv");
106
- for (let faceIndex = 0; faceIndex < CUBE_FACES.length; faceIndex++) {
107
- let faceName = CUBE_FACES[faceIndex];
108
- let face = faces[faceName];
109
- if (!face)
110
- continue;
111
- if (!face.uv) {
112
- face.uv = DEFAULT_UV;
113
- }
114
- this.setCubeFaceUvAttribute(attributes, faceIndex * 4, originalTextureSize, actualTextureSize, face.uv);
115
- }
116
- }
117
- static facesToUvArray(faces, originalTextureSize, actualTextureSize) {
118
- const array = [];
119
- for (let faceIndex = 0; faceIndex < CUBE_FACES.length; faceIndex++) {
120
- let faceName = CUBE_FACES[faceIndex];
121
- let face = faces[faceName];
122
- if (!face)
123
- continue;
124
- if (!face.uv) {
125
- face.uv = DEFAULT_UV;
126
- }
127
- this.addCubeFaceUvToArray(array, faceIndex * 4, originalTextureSize, actualTextureSize, face.uv);
128
- }
129
- return array;
130
- }
131
- static facesToUv(faces, originalTextureSize, actualTextureSize) {
132
- return new Float32BufferAttribute(this.facesToUvArray(faces, originalTextureSize, actualTextureSize), 2);
133
- }
134
- static getAtlas(model) {
135
- return __awaiter(this, void 0, void 0, function* () {
136
- const keyStr = model.key.serialize();
137
- return Caching.modelTextureAtlasCache.get(keyStr, k => {
138
- return this.createAtlas(model);
139
- });
140
- });
141
- }
142
- static fillMissingTextureKeys(textures, target) {
143
- for (let faceName of CUBE_FACES) {
144
- let v = textures[faceName];
145
- if (v && v.startsWith("#")) {
146
- target[faceName] = target[v.substr(1)];
147
- }
148
- }
149
- return target;
150
- }
151
- // https://yeleha.co/3qlboGS
152
- static getFallbackUv(element, faceName) {
153
- switch (faceName) {
154
- case CubeFace.DOWN:
155
- return [element.from[X], 16 - element.to[Z], element.to[X], 16 - element.from[Z]];
156
- case CubeFace.UP:
157
- return [element.from[X], element.from[Z], element.to[X], element.to[Z]];
158
- case CubeFace.NORTH:
159
- default:
160
- return [16 - element.to[X], 16 - element.to[Y], 16 - element.from[X], 16 - element.from[Y]];
161
- case CubeFace.SOUTH:
162
- return [element.from[X], 16 - element.to[Y], element.to[X], 16 - element.from[Y]];
163
- case CubeFace.WEST:
164
- return [element.from[Z], 16 - element.to[Y], element.to[Z], 16 - element.from[Y]];
165
- case CubeFace.EAST:
166
- return [16 - element.to[Z], 16 - element.to[Y], 16 - element.from[Z], 16 - element.from[Y]];
167
- }
168
- }
169
- static expandAndRotateMcUvs([u1, v1, u2, v2], rotation = 0, actualWidth, actualHeight) {
170
- // Resize coordinates to actual texture size
171
- const scaleU = actualWidth / 16;
172
- const scaleV = actualHeight / 16;
173
- u1 *= scaleU;
174
- v1 *= scaleV;
175
- u2 *= scaleU;
176
- v2 *= scaleV;
177
- let tl = new Vector2(u1, v1); // top left
178
- let tr = new Vector2(u2, v1); // top right
179
- let bl = new Vector2(u1, v2); // bottom left
180
- let br = new Vector2(u2, v2); // bottom right
181
- switch (rotation) {
182
- case 0:
183
- case 360:
184
- default:
185
- break;
186
- case 90:
187
- tl = new Vector2(u1, v2);
188
- tr = new Vector2(u1, v1);
189
- bl = new Vector2(u2, v2);
190
- br = new Vector2(u2, v1);
191
- break;
192
- case 180:
193
- tl = new Vector2(u2, v2);
194
- tr = new Vector2(u1, v2);
195
- bl = new Vector2(u2, v1);
196
- br = new Vector2(u1, v1);
197
- break;
198
- case 270:
199
- tl = new Vector2(u2, v1);
200
- tr = new Vector2(u2, v2);
201
- bl = new Vector2(u1, v1);
202
- br = new Vector2(u1, v2);
203
- break;
204
- }
205
- return [tl, tr, bl, br];
206
- }
207
- static createAtlas(originalModel) {
208
- var _a, _b;
209
- return __awaiter(this, void 0, void 0, function* () {
210
- const textureMap = {};
211
- const metaMap = {};
212
- const model = Object.assign({}, originalModel);
213
- const isItemModel = !("elements" in model);
214
- console.debug(p, "Creating Atlas for", model.key);
215
- if (model.textures) {
216
- const promises = [];
217
- const uniqueTextureNames = []; // TODO: make these actually unique
218
- const textureReferences = {};
219
- for (let textureKey in model.textures) {
220
- let textureValue = model.textures[textureKey];
221
- if (textureValue.startsWith("#")) {
222
- textureReferences[textureKey] = textureValue.substr(1);
223
- }
224
- else {
225
- uniqueTextureNames.push(textureKey);
226
- const assetKey = AssetKey.parse("textures", textureValue, model.key);
227
- promises.push(ModelTextures.get(assetKey).then(asset => {
228
- textureMap[textureKey] = new WrappedImage(asset);
229
- }));
230
- promises.push(ModelTextures.getMeta(assetKey).then(meta => {
231
- metaMap[textureKey] = meta;
232
- }));
233
- }
234
- }
235
- yield Promise.all(promises);
236
- const textureCount = uniqueTextureNames.length;
237
- console.debug(p, "Creating Atlas for", textureCount, "textures");
238
- // console.log(model.textures)
239
- this.fillMissingTextureKeys(model.textures, textureMap);
240
- this.fillMissingTextureKeys(model.textures, metaMap);
241
- const sizes = {};
242
- // Find largest texture dimensions
243
- let maxWidth = 0;
244
- let maxHeight = 0;
245
- for (let textureKey of uniqueTextureNames) {
246
- let texture = textureMap[textureKey];
247
- if (!texture)
248
- continue;
249
- sizes[textureKey] = [texture.width, texture.height];
250
- if (texture.width > maxWidth) {
251
- maxWidth = texture.width;
252
- }
253
- if (texture.height > maxHeight) {
254
- maxHeight = texture.height;
255
- }
256
- }
257
- this.fillMissingTextureKeys(model.textures, sizes);
258
- // console.log(sizes);
259
- const s = (Math.ceil(Math.sqrt(textureCount + 1))); // +1 for transparency
260
- const size = Math.ceil(s * maxWidth);
261
- console.debug(p, "Atlas size:", size);
262
- // console.log("size: " + size);
263
- const squaredSize = size * size;
264
- const missing = yield ImageLoader.getData("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAQMAAACQp+OdAAAABlBMVEX/AP8AAACfphTyAAAAFUlEQVQoz2MIhQKGVVAwKjIqQrwIAHRz/wFI17TEAAAAAElFTkSuQmCC");
265
- const empty = yield ImageLoader.getData("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAQMAAACQp+OdAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAA5JREFUKM9jGAWjgAIAAAJAAAFSSwuTAAAAAElFTkSuQmCC");
266
- //TODO: add transparent texture and use as default uv
267
- // Create image
268
- const image = new CanvasImage(size, size);
269
- image.putData(missing, 0, 0); // fill with invalid texture image
270
- image.putData(empty, 0, 0, 0, 0, maxWidth, maxWidth); // add transparent section in the top-left corner
271
- const positions = {};
272
- let hasTransparency = false;
273
- let hasAnimation = false;
274
- const animatorFunctions = {};
275
- // Draw all textures onto a single image
276
- let tx = 1; // start one over to leave room for the transparent space
277
- let ty = 0;
278
- for (let textureIndex = 0; textureIndex < uniqueTextureNames.length; textureIndex++) {
279
- let textureKey = uniqueTextureNames[textureIndex];
280
- let texture = textureMap[textureKey];
281
- let x = tx * maxWidth;
282
- let y = ty * maxWidth;
283
- if (texture) {
284
- console.log(texture);
285
- positions[textureKey] = [x, y];
286
- image.putData(texture.data, x, y, 0, 0, maxWidth, maxWidth);
287
- // console.log(image.toDataURL())
288
- //TODO: only first frame for animated textures
289
- if (texture.hasTransparency) {
290
- hasTransparency = true;
291
- }
292
- if (texture.animated) {
293
- hasAnimation = true;
294
- const meta = metaMap[textureKey];
295
- const frameTime = (_b = (_a = meta === null || meta === void 0 ? void 0 : meta.animation) === null || _a === void 0 ? void 0 : _a.frametime) !== null && _b !== void 0 ? _b : 1;
296
- console.log(meta);
297
- console.log(frameTime);
298
- let t = 0;
299
- let f = 0;
300
- animatorFunctions[textureKey] = () => {
301
- var _a;
302
- console.log("animating", textureKey);
303
- //TODO: use mcmeta for frame count, delays, etc
304
- //TODO: interpolate?
305
- if (t++ >= frameTime) {
306
- t = 0;
307
- const frames = (_a = meta === null || meta === void 0 ? void 0 : meta.animation) === null || _a === void 0 ? void 0 : _a.frames;
308
- const frame = frames ? frames[f] : f; //TODO: frame.time support
309
- image.putData(texture.getFrameSectionData(frame), x, y, 0, 0, maxWidth, maxWidth);
310
- f++;
311
- if (f >= (frames ? frames.length : texture.frameCount)) {
312
- f = 0;
313
- }
314
- }
315
- };
316
- }
317
- }
318
- tx++;
319
- if (tx >= s) {
320
- tx = 0;
321
- ty++;
322
- }
323
- }
324
- const atlasImageData = image.toDataURL();
325
- console.log(p, "Atlas Image for", model.key, atlasImageData);
326
- this.fillMissingTextureKeys(model.textures, positions);
327
- // console.log(positions);
328
- if (isItemModel) {
329
- console.debug(p, "Generating item model for", model);
330
- model.elements = [];
331
- for (let layerName of ModelGenerator.ITEM_LAYERS) {
332
- const textureImage = textureMap[layerName];
333
- if (textureImage) {
334
- model.elements.push(...ModelGenerator.generateItemModel(textureImage.data, layerName));
335
- }
336
- }
337
- console.debug(p, "Item model elements", model.elements);
338
- }
339
- if (!model.elements) {
340
- //TODO: default elements
341
- }
342
- // Adjust UV positions
343
- if (model.elements) {
344
- for (let elementIndex = 0; elementIndex < model.elements.length; elementIndex++) {
345
- let element = model.elements[elementIndex];
346
- let uv = [];
347
- // Set default uvs to missing texture
348
- for (let i = 0; i < CUBE_FACES.length; i++) {
349
- this.setCubeFaceUvInArray(uv, i * 4, [0, 0, 8 / size, 8 / size]);
350
- }
351
- for (let faceIndex = 0; faceIndex < CUBE_FACES.length; faceIndex++) {
352
- let faceName = CUBE_FACES[faceIndex];
353
- // console.log(faceName)
354
- let face = element.faces[faceName];
355
- if (!face) {
356
- // set uv transparent
357
- this.setCubeFaceUvInArray(uv, faceIndex * 4, [0, 1, 8 / size, (size - 8) / size]);
358
- continue;
359
- }
360
- if (!face.uv) {
361
- face.uv = this.getFallbackUv(element, faceName);
362
- }
363
- let faceTexture = face.texture;
364
- let texPosition;
365
- let texSize;
366
- if (faceTexture) {
367
- faceTexture = faceTexture.substr(1); // remove #
368
- texPosition = positions[faceTexture] || [0, 0];
369
- texSize = sizes[faceTexture] || [16, 16];
370
- }
371
- let texPosV = new Vector2(texPosition[0], texPosition[1]);
372
- const [tl, tr, bl, br] = this.expandAndRotateMcUvs(face.uv, face.rotation, texSize[0], texSize[1]);
373
- // move to atlas position
374
- tl.add(texPosV);
375
- tr.add(texPosV);
376
- bl.add(texPosV);
377
- br.add(texPosV);
378
- // divide to 0-1
379
- tl.divideScalar(size);
380
- tr.divideScalar(size);
381
- bl.divideScalar(size);
382
- br.divideScalar(size);
383
- // flip y coordinates
384
- tl.y = 1 - tl.y;
385
- tr.y = 1 - tr.y;
386
- bl.y = 1 - bl.y;
387
- br.y = 1 - br.y;
388
- //TODO: figure out how uv lock works
389
- let uvs = [tl, tr, bl, br];
390
- // console.log("uvs", uvs);
391
- this.setFaceUvInArrayV(uv, faceIndex * 4, uvs);
392
- }
393
- element.mappedUv = uv;
394
- }
395
- }
396
- else {
397
- //TODO: item model
398
- }
399
- return new TextureAtlas(model, image, sizes, positions, hasAnimation, animatorFunctions, hasTransparency);
400
- }
401
- else {
402
- console.warn(p, "Model does not have any textures", model);
403
- }
404
- return undefined;
405
- });
406
- }
407
- }
408
- // Based on net.minecraft.client.renderer.block.model.BlockFaceUV
409
- export class MinecraftFaceUV {
410
- constructor(uv = [0, 0, 16, 16], rotation = 0) {
411
- this.uv = uv;
412
- this.rotation = rotation;
413
- }
414
- getU(index) {
415
- const shiftedIndex = this.getShiftedIndex(index);
416
- return this.uv[shiftedIndex !== 0 && index !== 1 ? 2 : 0];
417
- }
418
- getV(index) {
419
- const shiftedIndex = this.getShiftedIndex(index);
420
- return this.uv[shiftedIndex !== 0 && index !== 3 ? 3 : 1];
421
- }
422
- getShiftedIndex(index) {
423
- return (index + this.rotation / 90) % 40;
424
- }
425
- getReverseIndex(index) {
426
- return (index + 4 - this.rotation / 90) % 4;
427
- }
428
- }
429
- //# sourceMappingURL=UVMapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UVMapper.js","sourceRoot":"src/","sources":["UVMapper.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { ImageData } from "canvas";
2
- import { ExtractableImageData } from "./ExtractableImageData";
3
- export declare class WrappedImage {
4
- readonly dta: ExtractableImageData;
5
- constructor(dta: ExtractableImageData);
6
- get data(): ImageData;
7
- get dataArray(): Uint8ClampedArray;
8
- get width(): number;
9
- get height(): number;
10
- get hasTransparency(): boolean;
11
- get animated(): boolean;
12
- get frameCount(): number;
13
- getFrameY(frame: number): number;
14
- getSectionData(sx: number, sy: number, sw: number, sh: number): ImageData;
15
- getPixel(x: number, y: number): Uint8ClampedArray;
16
- getFrameSectionData(frame: number): ImageData;
17
- }