minerender 2.0.0-alpha.14 → 2.0.0-alpha.15
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/dist/bundle.js +161 -132
- package/dist/bundle.js.map +4 -4
- package/dist/cjs/UVMapper.js +189 -204
- package/dist/cjs/UVMapper.js.map +1 -1
- package/dist/cjs/assets/AssetKey.js +7 -8
- package/dist/cjs/assets/AssetKey.js.map +1 -1
- package/dist/cjs/assets/AssetLoader.js +24 -37
- package/dist/cjs/assets/AssetLoader.js.map +1 -1
- package/dist/cjs/assets/Assets.js +4 -17
- package/dist/cjs/assets/Assets.js.map +1 -1
- package/dist/cjs/assets/BlockStates.js +29 -48
- package/dist/cjs/assets/BlockStates.js.map +1 -1
- package/dist/cjs/assets/Entities.js +46 -67
- package/dist/cjs/assets/Entities.js.map +1 -1
- package/dist/cjs/assets/ModelTextures.js +26 -43
- package/dist/cjs/assets/ModelTextures.js.map +1 -1
- package/dist/cjs/assets/Models.js +40 -61
- package/dist/cjs/assets/Models.js.map +1 -1
- package/dist/cjs/assets/source/HostedAssetSource.js +63 -79
- package/dist/cjs/assets/source/HostedAssetSource.js.map +1 -1
- package/dist/cjs/assets/source/archive/ArchiveAssetSource.js +74 -91
- package/dist/cjs/assets/source/archive/ArchiveAssetSource.js.map +1 -1
- package/dist/cjs/assets/source/archive/BrowserArchiveProxy.js +9 -20
- package/dist/cjs/assets/source/archive/BrowserArchiveProxy.js.map +1 -1
- package/dist/cjs/cache/CacheKey.js +1 -2
- package/dist/cjs/cache/CacheKey.js.map +1 -1
- package/dist/cjs/cache/PersistentCache.js +7 -18
- package/dist/cjs/cache/PersistentCache.js.map +1 -1
- package/dist/cjs/entity/scene/EntityObject.js +23 -37
- package/dist/cjs/entity/scene/EntityObject.js.map +1 -1
- package/dist/cjs/image/ImageLoader.js +85 -118
- package/dist/cjs/image/ImageLoader.js.map +1 -1
- package/dist/cjs/inspector/SceneInspector.js +1 -2
- package/dist/cjs/inspector/SceneInspector.js.map +1 -1
- package/dist/cjs/instance/InstanceManager.js +18 -31
- package/dist/cjs/instance/InstanceManager.js.map +1 -1
- package/dist/cjs/model/ModelMerger.js +23 -36
- package/dist/cjs/model/ModelMerger.js.map +1 -1
- package/dist/cjs/model/block/scene/BlockObject.js +211 -234
- package/dist/cjs/model/block/scene/BlockObject.js.map +1 -1
- package/dist/cjs/model/multiblock/SchematicParser.js +4 -15
- package/dist/cjs/model/multiblock/SchematicParser.js.map +1 -1
- package/dist/cjs/model/multiblock/StructureParser.js +28 -40
- package/dist/cjs/model/multiblock/StructureParser.js.map +1 -1
- package/dist/cjs/model/scene/ModelObject.js +10 -25
- package/dist/cjs/model/scene/ModelObject.js.map +1 -1
- package/dist/cjs/nbt/NBTHelper.js +4 -15
- package/dist/cjs/nbt/NBTHelper.js.map +1 -1
- package/dist/cjs/renderer/MineRenderScene.js +53 -75
- package/dist/cjs/renderer/MineRenderScene.js.map +1 -1
- package/dist/cjs/renderer/Renderer.js +5 -8
- package/dist/cjs/renderer/Renderer.js.map +1 -1
- package/dist/cjs/renderer/SceneObject.js +3 -15
- package/dist/cjs/renderer/SceneObject.js.map +1 -1
- package/dist/cjs/skin/SkinTextureCoordinates.js +115 -116
- package/dist/cjs/skin/SkinTextureCoordinates.js.map +1 -1
- package/dist/cjs/skin/Skins.js +112 -149
- package/dist/cjs/skin/Skins.js.map +1 -1
- package/dist/cjs/skin/scene/SkinObject.js +3 -14
- package/dist/cjs/skin/scene/SkinObject.js.map +1 -1
- package/dist/cjs/util/log.js +1 -1
- package/dist/cjs/util/log.js.map +1 -1
- package/dist/cjs/util/util.js +3 -14
- package/dist/cjs/util/util.js.map +1 -1
- package/dist/cjs/world/Chunk.js +56 -73
- package/dist/cjs/world/Chunk.js.map +1 -1
- package/dist/cjs/world/MineRenderWorld.js +34 -49
- package/dist/cjs/world/MineRenderWorld.js.map +1 -1
- package/dist/esm/UVMapper.js +189 -204
- package/dist/esm/UVMapper.js.map +1 -1
- package/dist/esm/assets/AssetKey.js +7 -8
- package/dist/esm/assets/AssetKey.js.map +1 -1
- package/dist/esm/assets/AssetLoader.js +24 -37
- package/dist/esm/assets/AssetLoader.js.map +1 -1
- package/dist/esm/assets/Assets.js +4 -17
- package/dist/esm/assets/Assets.js.map +1 -1
- package/dist/esm/assets/BlockStates.js +29 -48
- package/dist/esm/assets/BlockStates.js.map +1 -1
- package/dist/esm/assets/Entities.js +46 -67
- package/dist/esm/assets/Entities.js.map +1 -1
- package/dist/esm/assets/ModelTextures.js +26 -43
- package/dist/esm/assets/ModelTextures.js.map +1 -1
- package/dist/esm/assets/Models.js +40 -61
- package/dist/esm/assets/Models.js.map +1 -1
- package/dist/esm/assets/source/HostedAssetSource.js +63 -79
- package/dist/esm/assets/source/HostedAssetSource.js.map +1 -1
- package/dist/esm/assets/source/archive/ArchiveAssetSource.js +74 -91
- package/dist/esm/assets/source/archive/ArchiveAssetSource.js.map +1 -1
- package/dist/esm/assets/source/archive/BrowserArchiveProxy.js +9 -20
- package/dist/esm/assets/source/archive/BrowserArchiveProxy.js.map +1 -1
- package/dist/esm/cache/CacheKey.js +1 -2
- package/dist/esm/cache/CacheKey.js.map +1 -1
- package/dist/esm/cache/PersistentCache.js +7 -18
- package/dist/esm/cache/PersistentCache.js.map +1 -1
- package/dist/esm/entity/scene/EntityObject.js +23 -37
- package/dist/esm/entity/scene/EntityObject.js.map +1 -1
- package/dist/esm/image/ImageLoader.js +85 -118
- package/dist/esm/image/ImageLoader.js.map +1 -1
- package/dist/esm/inspector/SceneInspector.js +1 -2
- package/dist/esm/inspector/SceneInspector.js.map +1 -1
- package/dist/esm/instance/InstanceManager.js +18 -31
- package/dist/esm/instance/InstanceManager.js.map +1 -1
- package/dist/esm/model/ModelMerger.js +23 -36
- package/dist/esm/model/ModelMerger.js.map +1 -1
- package/dist/esm/model/block/scene/BlockObject.js +211 -234
- package/dist/esm/model/block/scene/BlockObject.js.map +1 -1
- package/dist/esm/model/multiblock/SchematicParser.js +4 -15
- package/dist/esm/model/multiblock/SchematicParser.js.map +1 -1
- package/dist/esm/model/multiblock/StructureParser.js +28 -40
- package/dist/esm/model/multiblock/StructureParser.js.map +1 -1
- package/dist/esm/model/scene/ModelObject.js +10 -25
- package/dist/esm/model/scene/ModelObject.js.map +1 -1
- package/dist/esm/nbt/NBTHelper.js +4 -15
- package/dist/esm/nbt/NBTHelper.js.map +1 -1
- package/dist/esm/renderer/MineRenderScene.js +53 -75
- package/dist/esm/renderer/MineRenderScene.js.map +1 -1
- package/dist/esm/renderer/Renderer.js +5 -8
- package/dist/esm/renderer/Renderer.js.map +1 -1
- package/dist/esm/renderer/SceneObject.js +3 -15
- package/dist/esm/renderer/SceneObject.js.map +1 -1
- package/dist/esm/skin/SkinTextureCoordinates.js +115 -116
- package/dist/esm/skin/SkinTextureCoordinates.js.map +1 -1
- package/dist/esm/skin/Skins.js +112 -149
- package/dist/esm/skin/Skins.js.map +1 -1
- package/dist/esm/skin/scene/SkinObject.js +3 -14
- package/dist/esm/skin/scene/SkinObject.js.map +1 -1
- package/dist/esm/util/log.js +1 -1
- package/dist/esm/util/log.js.map +1 -1
- package/dist/esm/util/util.js +3 -14
- package/dist/esm/util/util.js.map +1 -1
- package/dist/esm/world/Chunk.js +56 -73
- package/dist/esm/world/Chunk.js.map +1 -1
- package/dist/esm/world/MineRenderWorld.js +34 -49
- package/dist/esm/world/MineRenderWorld.js.map +1 -1
- package/package.json +5 -26
- package/src/model/scene/ModelObject.ts +0 -3
- package/src/nbt/NBTHelper.ts +1 -1
- package/src/renderer/Renderer.ts +2 -2
- package/src/skin/SkinTextureCoordinates.ts +129 -119
- package/src/world/Chunk.ts +0 -2
- package/tsconfig.json +2 -2
|
@@ -1,12 +1,3 @@
|
|
|
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
1
|
import { Caching } from "../cache/Caching";
|
|
11
2
|
import { AssetLoader } from "./AssetLoader";
|
|
12
3
|
import { ImageLoader } from "../image/ImageLoader";
|
|
@@ -14,20 +5,32 @@ import { PersistentCache } from "../cache/PersistentCache";
|
|
|
14
5
|
import { AssetKey } from "./AssetKey";
|
|
15
6
|
import { AssetParser } from "./source/parser/AssetParsers";
|
|
16
7
|
export class ModelTextures {
|
|
17
|
-
static get(key) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
8
|
+
static async get(key) {
|
|
9
|
+
const asset = await this.preload(key);
|
|
10
|
+
if (asset) {
|
|
11
|
+
return ImageLoader.infoToCanvasData(asset);
|
|
12
|
+
}
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
static async preload(key) {
|
|
16
|
+
const keyStr = key.serialize();
|
|
17
|
+
return Caching.textureAssetCache.get(keyStr, k => {
|
|
18
|
+
return AssetLoader.get(key, AssetParser.IMAGE).then(asset => {
|
|
19
|
+
if (asset)
|
|
20
|
+
asset.key = key;
|
|
21
|
+
return asset;
|
|
22
|
+
});
|
|
24
23
|
});
|
|
25
24
|
}
|
|
26
|
-
static
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
static async getMeta(key) {
|
|
26
|
+
if (!key.extension || !key.extension.endsWith(".mcmeta")) {
|
|
27
|
+
key = Object.assign(new AssetKey("", ""), key);
|
|
28
|
+
key.extension += ".mcmeta";
|
|
29
|
+
}
|
|
30
|
+
const keyStr = key.serialize();
|
|
31
|
+
return Caching.textureMetaCache.get(keyStr, k => {
|
|
32
|
+
return this.PERSISTENT_META_CACHE.getOrLoad(keyStr, k1 => {
|
|
33
|
+
return AssetLoader.get(key, AssetParser.META).then(asset => {
|
|
31
34
|
if (asset)
|
|
32
35
|
asset.key = key;
|
|
33
36
|
return asset;
|
|
@@ -35,28 +38,8 @@ export class ModelTextures {
|
|
|
35
38
|
});
|
|
36
39
|
});
|
|
37
40
|
}
|
|
38
|
-
static
|
|
39
|
-
|
|
40
|
-
if (!key.extension || !key.extension.endsWith(".mcmeta")) {
|
|
41
|
-
key = Object.assign(new AssetKey("", ""), key);
|
|
42
|
-
key.extension += ".mcmeta";
|
|
43
|
-
}
|
|
44
|
-
const keyStr = key.serialize();
|
|
45
|
-
return Caching.textureMetaCache.get(keyStr, k => {
|
|
46
|
-
return this.PERSISTENT_META_CACHE.getOrLoad(keyStr, k1 => {
|
|
47
|
-
return AssetLoader.get(key, AssetParser.META).then(asset => {
|
|
48
|
-
if (asset)
|
|
49
|
-
asset.key = key;
|
|
50
|
-
return asset;
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
static clearCache() {
|
|
57
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
yield this.PERSISTENT_META_CACHE.clear();
|
|
59
|
-
});
|
|
41
|
+
static async clearCache() {
|
|
42
|
+
await this.PERSISTENT_META_CACHE.clear();
|
|
60
43
|
}
|
|
61
44
|
}
|
|
62
45
|
ModelTextures.PERSISTENT_META_CACHE = PersistentCache.open("minerender-texturemeta");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelTextures.js","sourceRoot":"src/","sources":["assets/ModelTextures.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModelTextures.js","sourceRoot":"src/","sources":["assets/ModelTextures.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,OAAO,aAAa;IAIf,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAa;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE;YACP,OAAO,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC9C;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAa;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;YAC7C,OAAO,WAAW,CAAC,GAAG,CAAe,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACtE,IAAI,KAAK;oBACL,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;gBACpB,OAAO,KAAK,CAAC;YACjB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAa;QACrC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACtD,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/C,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC;SAC9B;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;QAE/B,OAAO,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACrD,OAAO,WAAW,CAAC,GAAG,CAAuB,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC7E,IAAI,KAAK;wBACL,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;oBACpB,OAAO,KAAK,CAAC;gBACjB,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,UAAU;QAC1B,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;IAC7C,CAAC;;AAzCc,mCAAqB,GAAG,eAAe,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC"}
|
|
@@ -4,15 +4,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
7
|
import { Caching } from "../cache/Caching";
|
|
17
8
|
import { ModelMerger } from "../model/ModelMerger";
|
|
18
9
|
import { AssetLoader } from "./AssetLoader";
|
|
@@ -22,66 +13,54 @@ import { PersistentCache } from "../cache/PersistentCache";
|
|
|
22
13
|
import { AssetKey } from "./AssetKey";
|
|
23
14
|
import { AssetParser } from "./source/parser/AssetParsers";
|
|
24
15
|
export class Models {
|
|
25
|
-
static getItemList() {
|
|
26
|
-
return
|
|
27
|
-
return AssetLoader.get(new AssetKey(DEFAULT_NAMESPACE, "_list", "models", "item", "assets", ".json", DEFAULT_ROOT), AssetParser.LIST).then(r => { var _a; return (_a = r === null || r === void 0 ? void 0 : r.files) !== null && _a !== void 0 ? _a : []; });
|
|
28
|
-
});
|
|
16
|
+
static async getItemList() {
|
|
17
|
+
return AssetLoader.get(new AssetKey(DEFAULT_NAMESPACE, "_list", "models", "item", "assets", ".json", DEFAULT_ROOT), AssetParser.LIST).then(r => r?.files ?? []);
|
|
29
18
|
}
|
|
30
|
-
static loadAndMerge(key) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return ModelMerger.mergeWithParents(model);
|
|
37
|
-
});
|
|
19
|
+
static async loadAndMerge(key) {
|
|
20
|
+
const model = await this.getRaw(key);
|
|
21
|
+
if (!model) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
return ModelMerger.mergeWithParents(model);
|
|
38
25
|
}
|
|
39
|
-
static getRaw(key) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return
|
|
50
|
-
return
|
|
51
|
-
return AssetLoader.get(key, AssetParser.MODEL);
|
|
52
|
-
});
|
|
53
|
-
}).then(asset => {
|
|
54
|
-
if (asset) {
|
|
55
|
-
asset.key = key;
|
|
56
|
-
}
|
|
57
|
-
return asset;
|
|
26
|
+
static async getRaw(key) {
|
|
27
|
+
if (!key.assetType) {
|
|
28
|
+
key.assetType = "models";
|
|
29
|
+
}
|
|
30
|
+
if (!key.extension) {
|
|
31
|
+
key.extension = ".json";
|
|
32
|
+
}
|
|
33
|
+
const keyStr = key.serialize();
|
|
34
|
+
//TODO: maybe add the asset source to the key
|
|
35
|
+
return Caching.rawModelCache.get(keyStr, k => {
|
|
36
|
+
return this.PERSISTENT_CACHE.getOrLoad(keyStr, k1 => {
|
|
37
|
+
return AssetLoader.get(key, AssetParser.MODEL);
|
|
58
38
|
});
|
|
59
|
-
})
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
-
if (!key.assetType) {
|
|
64
|
-
key.assetType = "models";
|
|
65
|
-
}
|
|
66
|
-
if (!key.extension) {
|
|
67
|
-
key.extension = ".json";
|
|
39
|
+
}).then(asset => {
|
|
40
|
+
if (asset) {
|
|
41
|
+
asset.key = key;
|
|
68
42
|
}
|
|
69
|
-
|
|
70
|
-
return Caching.mergedModelCache.get(keyStr, k => {
|
|
71
|
-
//TODO: persistent cache
|
|
72
|
-
return Models.loadAndMerge(key);
|
|
73
|
-
});
|
|
43
|
+
return asset;
|
|
74
44
|
});
|
|
75
45
|
}
|
|
76
|
-
static
|
|
77
|
-
|
|
78
|
-
|
|
46
|
+
static async getMerged(key) {
|
|
47
|
+
if (!key.assetType) {
|
|
48
|
+
key.assetType = "models";
|
|
49
|
+
}
|
|
50
|
+
if (!key.extension) {
|
|
51
|
+
key.extension = ".json";
|
|
52
|
+
}
|
|
53
|
+
const keyStr = key.serialize();
|
|
54
|
+
return Caching.mergedModelCache.get(keyStr, k => {
|
|
55
|
+
//TODO: persistent cache
|
|
56
|
+
return Models.loadAndMerge(key);
|
|
79
57
|
});
|
|
80
58
|
}
|
|
81
|
-
static
|
|
82
|
-
return
|
|
83
|
-
|
|
84
|
-
|
|
59
|
+
static async get(key) {
|
|
60
|
+
return this.getMerged(key);
|
|
61
|
+
}
|
|
62
|
+
static async clearCache() {
|
|
63
|
+
return this.PERSISTENT_CACHE.clear();
|
|
85
64
|
}
|
|
86
65
|
}
|
|
87
66
|
Models.PERSISTENT_CACHE = PersistentCache.open("minerender-models");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Models.js","sourceRoot":"src/","sources":["assets/Models.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Models.js","sourceRoot":"src/","sources":["assets/Models.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,3 @@
|
|
|
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
1
|
import { AssetSource } from ".";
|
|
11
2
|
import { prefix } from "../../util";
|
|
12
3
|
import { NBTHelper } from "../../nbt";
|
|
@@ -22,86 +13,81 @@ const DEFAULT_OPTIONS = {
|
|
|
22
13
|
retryDefaults: true
|
|
23
14
|
};
|
|
24
15
|
export class HostedAssetSource extends AssetSource {
|
|
25
|
-
loadOrRetryWithDefaults(key, parser) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
16
|
+
async loadOrRetryWithDefaults(key, parser) {
|
|
17
|
+
const direct = await this.load(key, parser);
|
|
18
|
+
if (typeof direct !== "undefined") {
|
|
19
|
+
return direct;
|
|
20
|
+
}
|
|
21
|
+
if (key.namespace !== DEFAULT_NAMESPACE) {
|
|
22
|
+
console.info(p, "Retrying", key, "with default namespace");
|
|
23
|
+
// Try on the same host but with default minecraft: namespace
|
|
24
|
+
const namespaceKey = new AssetKey(DEFAULT_NAMESPACE, key.path, key.assetType, key.type, key.rootType, key.extension, key.root);
|
|
25
|
+
const namespaced = await this.load(namespaceKey, parser);
|
|
26
|
+
if (typeof namespaced !== "undefined") {
|
|
27
|
+
return namespaced;
|
|
30
28
|
}
|
|
31
|
-
if (key.
|
|
32
|
-
console.info(p, "Retrying", key, "with default namespace");
|
|
33
|
-
// Try
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
if (typeof
|
|
37
|
-
return
|
|
38
|
-
}
|
|
39
|
-
if ((typeof key.root !== "undefined" && key.root !== DEFAULT_ROOT) || (typeof this.root !== "undefined" && this.root !== DEFAULT_ROOT)) {
|
|
40
|
-
console.info(p, "Retrying", key, "with default root+namespace");
|
|
41
|
-
// Try both defaults
|
|
42
|
-
const namespacedRootedKey = new AssetKey(DEFAULT_NAMESPACE, key.path, key.assetType, key.type, key.rootType, key.extension, DEFAULT_ROOT);
|
|
43
|
-
const namespacedRooted = yield this.load(namespacedRootedKey, parser);
|
|
44
|
-
if (typeof namespacedRooted !== "undefined") {
|
|
45
|
-
return namespacedRooted;
|
|
46
|
-
}
|
|
29
|
+
if ((typeof key.root !== "undefined" && key.root !== DEFAULT_ROOT) || (typeof this.root !== "undefined" && this.root !== DEFAULT_ROOT)) {
|
|
30
|
+
console.info(p, "Retrying", key, "with default root+namespace");
|
|
31
|
+
// Try both defaults
|
|
32
|
+
const namespacedRootedKey = new AssetKey(DEFAULT_NAMESPACE, key.path, key.assetType, key.type, key.rootType, key.extension, DEFAULT_ROOT);
|
|
33
|
+
const namespacedRooted = await this.load(namespacedRootedKey, parser);
|
|
34
|
+
if (typeof namespacedRooted !== "undefined") {
|
|
35
|
+
return namespacedRooted;
|
|
47
36
|
}
|
|
48
37
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
38
|
+
}
|
|
39
|
+
else if ((typeof key.root !== "undefined" && key.root !== DEFAULT_ROOT) || (typeof this.root !== "undefined" && this.root !== DEFAULT_ROOT)) {
|
|
40
|
+
console.info(p, "Retrying", key, "with default root");
|
|
41
|
+
// Try on default root
|
|
42
|
+
const rootKey = new AssetKey(key.namespace, key.path, key.assetType, key.type, key.rootType, key.extension, DEFAULT_ROOT);
|
|
43
|
+
const rooted = await this.load(rootKey, parser);
|
|
44
|
+
if (typeof rooted !== "undefined") {
|
|
45
|
+
return rooted;
|
|
57
46
|
}
|
|
58
|
-
|
|
59
|
-
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
60
49
|
}
|
|
61
|
-
load(key, parser) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
return parser.parse(response);
|
|
76
|
-
}
|
|
77
|
-
catch (e) {
|
|
78
|
-
console.warn("Parser failed to process response", response, e);
|
|
79
|
-
throw e;
|
|
80
|
-
}
|
|
50
|
+
async load(key, parser) {
|
|
51
|
+
console.info(p, "Loading", key);
|
|
52
|
+
const url = `${this.assetBasePath(key)}${key.type !== undefined ? key.type + '/' : ''}${key.path}${key.extension}`;
|
|
53
|
+
console.debug(p, url);
|
|
54
|
+
let req = {
|
|
55
|
+
url: url
|
|
56
|
+
};
|
|
57
|
+
parser.config(req);
|
|
58
|
+
// @ts-ignore
|
|
59
|
+
return await Requests.mcAssetRequest(req)
|
|
60
|
+
.then(response => {
|
|
61
|
+
if (response && response.data) {
|
|
62
|
+
try {
|
|
63
|
+
return parser.parse(response);
|
|
81
64
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
if (err.response) {
|
|
86
|
-
let response = err.response;
|
|
87
|
-
if (response.status === 404) {
|
|
88
|
-
console.debug(p, key, "not found");
|
|
89
|
-
return undefined;
|
|
90
|
-
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
console.warn("Parser failed to process response", response, e);
|
|
67
|
+
throw e;
|
|
91
68
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
69
|
+
}
|
|
70
|
+
return undefined;
|
|
71
|
+
})
|
|
72
|
+
.catch(err => {
|
|
73
|
+
if (err.response) {
|
|
74
|
+
let response = err.response;
|
|
75
|
+
if (response.status === 404) {
|
|
76
|
+
console.debug(p, key, "not found");
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
console.debug(p, "Failed to load", key, err?.message);
|
|
81
|
+
return undefined;
|
|
95
82
|
});
|
|
96
83
|
}
|
|
97
84
|
assetBasePath(key) {
|
|
98
|
-
|
|
99
|
-
return `${(_b = (_a = key.root) !== null && _a !== void 0 ? _a : this.root) !== null && _b !== void 0 ? _b : AssetLoader.ROOT}/${key.rootType !== undefined ? key.rootType + '/' : ''}${key.namespace !== undefined ? key.namespace + '/' : ''}${key.assetType !== undefined ? key.assetType + '/' : ''}`;
|
|
85
|
+
return `${key.root ?? this.root ?? AssetLoader.ROOT}/${key.rootType !== undefined ? key.rootType + '/' : ''}${key.namespace !== undefined ? key.namespace + '/' : ''}${key.assetType !== undefined ? key.assetType + '/' : ''}`;
|
|
100
86
|
}
|
|
101
87
|
constructor(root, options) {
|
|
102
88
|
super();
|
|
103
89
|
this._root = root;
|
|
104
|
-
this._options = merge({}, DEFAULT_OPTIONS, options
|
|
90
|
+
this._options = merge({}, DEFAULT_OPTIONS, options ?? {});
|
|
105
91
|
}
|
|
106
92
|
get root() {
|
|
107
93
|
return this._root;
|
|
@@ -151,10 +137,8 @@ HostedAssetSource.IMAGE = {
|
|
|
151
137
|
config(request) {
|
|
152
138
|
request.responseType = "arraybuffer";
|
|
153
139
|
},
|
|
154
|
-
parse(response) {
|
|
155
|
-
return
|
|
156
|
-
return yield ImageLoader.processResponse(response);
|
|
157
|
-
});
|
|
140
|
+
async parse(response) {
|
|
141
|
+
return await ImageLoader.processResponse(response);
|
|
158
142
|
}
|
|
159
143
|
};
|
|
160
144
|
HostedAssetSource.LIST = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostedAssetSource.js","sourceRoot":"src/","sources":["assets/source/HostedAssetSource.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HostedAssetSource.js","sourceRoot":"src/","sources":["assets/source/HostedAssetSource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,3 @@
|
|
|
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
1
|
import { AssetSource } from "../AssetSource";
|
|
11
2
|
import { prefix } from "../../../util";
|
|
12
3
|
import { Requests } from "../../../request";
|
|
@@ -22,97 +13,89 @@ export class ArchiveAssetSource extends AssetSource {
|
|
|
22
13
|
static blob(blob) {
|
|
23
14
|
return new ArchiveAssetSource(new BrowserArchiveProxy(blob));
|
|
24
15
|
}
|
|
25
|
-
getEntries() {
|
|
26
|
-
return
|
|
27
|
-
return this._archiveProxy.getEntries();
|
|
28
|
-
});
|
|
16
|
+
async getEntries() {
|
|
17
|
+
return this._archiveProxy.getEntries();
|
|
29
18
|
}
|
|
30
|
-
getEntry(path) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return entries.find(e => e.filename === path);
|
|
34
|
-
});
|
|
19
|
+
async getEntry(path) {
|
|
20
|
+
const entries = await this.getEntries();
|
|
21
|
+
return entries.find(e => e.filename === path);
|
|
35
22
|
}
|
|
36
|
-
get(key, parser) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return responseParser.parse(response);
|
|
60
|
-
}
|
|
61
|
-
catch (e) {
|
|
62
|
-
console.warn("Parser failed to process response", response, e);
|
|
63
|
-
throw e;
|
|
64
|
-
}
|
|
23
|
+
async get(key, parser) {
|
|
24
|
+
const responseParser = HostedAssetSource.PARSER_MAP.get(parser);
|
|
25
|
+
console.log("ArchiveAssetSource.get", key, parser);
|
|
26
|
+
let entries = (await this.getEntries());
|
|
27
|
+
const path = `${this.assetBasePath(key)}${key.type !== undefined ? key.type + '/' : ''}${key.path}${key.extension}`;
|
|
28
|
+
console.log(path);
|
|
29
|
+
const entry = await this.getEntry(path);
|
|
30
|
+
console.log(entry);
|
|
31
|
+
if (!entry) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
let blob = await entry.getData();
|
|
35
|
+
const url = URL.createObjectURL(blob);
|
|
36
|
+
console.log(url);
|
|
37
|
+
let req = {
|
|
38
|
+
url: url,
|
|
39
|
+
};
|
|
40
|
+
responseParser.config(req);
|
|
41
|
+
return Requests.genericRequest(req)
|
|
42
|
+
.then(response => {
|
|
43
|
+
if (response && response.data) {
|
|
44
|
+
try {
|
|
45
|
+
return responseParser.parse(response);
|
|
65
46
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
47
|
+
catch (e) {
|
|
48
|
+
console.warn("Parser failed to process response", response, e);
|
|
49
|
+
throw e;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return undefined;
|
|
53
|
+
})
|
|
54
|
+
.catch(err => {
|
|
55
|
+
if (err.response) {
|
|
56
|
+
let response = err.response;
|
|
57
|
+
if (response.status === 404) {
|
|
58
|
+
console.debug(p, key, "not found");
|
|
59
|
+
return undefined;
|
|
75
60
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
61
|
+
}
|
|
62
|
+
console.debug(p, "Failed to load", key, err?.message);
|
|
63
|
+
return undefined;
|
|
79
64
|
});
|
|
80
65
|
}
|
|
81
66
|
//TODO: abstract this
|
|
82
|
-
load(key, parser) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
throw e;
|
|
101
|
-
}
|
|
67
|
+
async load(key, parser) {
|
|
68
|
+
console.info(p, "Loading", key);
|
|
69
|
+
const url = `${this.assetBasePath(key)}${key.type !== undefined ? key.type + '/' : ''}${key.path}${key.extension}`;
|
|
70
|
+
console.debug(p, url);
|
|
71
|
+
let req = {
|
|
72
|
+
url: url
|
|
73
|
+
};
|
|
74
|
+
parser.config(req);
|
|
75
|
+
// @ts-ignore
|
|
76
|
+
return await Requests.genericRequest(req)
|
|
77
|
+
.then(response => {
|
|
78
|
+
if (response && response.data) {
|
|
79
|
+
try {
|
|
80
|
+
return parser.parse(response);
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
console.warn("Parser failed to process response", response, e);
|
|
84
|
+
throw e;
|
|
102
85
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
86
|
+
}
|
|
87
|
+
return undefined;
|
|
88
|
+
})
|
|
89
|
+
.catch(err => {
|
|
90
|
+
if (err.response) {
|
|
91
|
+
let response = err.response;
|
|
92
|
+
if (response.status === 404) {
|
|
93
|
+
console.debug(p, key, "not found");
|
|
94
|
+
return undefined;
|
|
112
95
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
96
|
+
}
|
|
97
|
+
console.debug(p, "Failed to load", key, err?.message);
|
|
98
|
+
return undefined;
|
|
116
99
|
});
|
|
117
100
|
}
|
|
118
101
|
assetBasePath(key) {
|