minerender 2.1.0-alpha.10 → 2.1.0-alpha.12
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/browser/index.d.mts +9 -1
- package/dist/browser/index.d.ts +9 -1
- package/dist/browser/index.js +96 -131
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/index.mjs +96 -131
- package/dist/browser/index.mjs.map +1 -1
- package/dist/bundle.js +497 -532
- package/dist/bundle.js.map +1 -1
- package/dist/node/index.d.mts +9 -1
- package/dist/node/index.d.ts +9 -1
- package/dist/node/index.js +97 -131
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +96 -131
- package/dist/node/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/node/index.mjs
CHANGED
|
@@ -32,8 +32,8 @@ var require_dist = __commonJS({
|
|
|
32
32
|
__assign = Object.assign || function(t) {
|
|
33
33
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
34
34
|
s = arguments[i];
|
|
35
|
-
for (var
|
|
36
|
-
t[
|
|
35
|
+
for (var p12 in s) if (Object.prototype.hasOwnProperty.call(s, p12))
|
|
36
|
+
t[p12] = s[p12];
|
|
37
37
|
}
|
|
38
38
|
return t;
|
|
39
39
|
};
|
|
@@ -705,10 +705,10 @@ var WrappedImage = class {
|
|
|
705
705
|
return this.animated ? this.width : this.height;
|
|
706
706
|
}
|
|
707
707
|
get frameCount() {
|
|
708
|
-
return this.height / this.
|
|
708
|
+
return this.height / this.frameHeight;
|
|
709
709
|
}
|
|
710
710
|
getFrameY(frame) {
|
|
711
|
-
return this.
|
|
711
|
+
return this.frameHeight * Math.max(0, Math.min(this.frameCount - 1, frame));
|
|
712
712
|
}
|
|
713
713
|
getSectionData(sx, sy, sw, sh) {
|
|
714
714
|
return this.dta.data.getImageData(sx, sy, sw, sh);
|
|
@@ -718,7 +718,7 @@ var WrappedImage = class {
|
|
|
718
718
|
}
|
|
719
719
|
getFrameSectionData(frame) {
|
|
720
720
|
const y = this.getFrameY(frame);
|
|
721
|
-
return this.getSectionData(0, y, this.
|
|
721
|
+
return this.getSectionData(0, y, this.frameWidth, this.frameHeight);
|
|
722
722
|
}
|
|
723
723
|
};
|
|
724
724
|
|
|
@@ -1152,12 +1152,12 @@ var AssetKey = class _AssetKey extends BasicAssetKey {
|
|
|
1152
1152
|
return a.join("/");
|
|
1153
1153
|
}
|
|
1154
1154
|
getFullPath() {
|
|
1155
|
-
let
|
|
1155
|
+
let p12 = [];
|
|
1156
1156
|
if (this.type) {
|
|
1157
|
-
|
|
1157
|
+
p12.push(this.type);
|
|
1158
1158
|
}
|
|
1159
|
-
|
|
1160
|
-
return
|
|
1159
|
+
p12.push(this.path);
|
|
1160
|
+
return p12.join("/");
|
|
1161
1161
|
}
|
|
1162
1162
|
toNamespacedString() {
|
|
1163
1163
|
return this.namespace + ":" + this.getFullPath();
|
|
@@ -1182,7 +1182,7 @@ var ModelMerger = class {
|
|
|
1182
1182
|
merged = (0, import_ts_deepmerge.default)(merged, parentModel);
|
|
1183
1183
|
}
|
|
1184
1184
|
merged = (0, import_ts_deepmerge.default)(merged, model);
|
|
1185
|
-
merged.hierarchy = models.map((m) => m.parent).filter((
|
|
1185
|
+
merged.hierarchy = models.map((m) => m.parent).filter((p12) => `${p12}`);
|
|
1186
1186
|
merged.hierarchy.push(`${merged.parent}`);
|
|
1187
1187
|
return merged;
|
|
1188
1188
|
}
|
|
@@ -1369,6 +1369,16 @@ var AssetSource = class {
|
|
|
1369
1369
|
constructor() {
|
|
1370
1370
|
}
|
|
1371
1371
|
};
|
|
1372
|
+
var AssetLoadError = class extends Error {
|
|
1373
|
+
constructor(source, key, path, cause) {
|
|
1374
|
+
super(`Failed to load ${key.toNamespacedString()} from ${path}${cause instanceof Error ? `: ${cause.message}` : ""}`);
|
|
1375
|
+
this.source = source;
|
|
1376
|
+
this.key = key;
|
|
1377
|
+
this.path = path;
|
|
1378
|
+
this.cause = cause;
|
|
1379
|
+
this.name = "AssetLoadError";
|
|
1380
|
+
}
|
|
1381
|
+
};
|
|
1372
1382
|
|
|
1373
1383
|
// src/util/BatchedExecutor.ts
|
|
1374
1384
|
var BatchedExecutor = class {
|
|
@@ -1623,31 +1633,25 @@ var HostedAssetSource = class _HostedAssetSource extends AssetSource {
|
|
|
1623
1633
|
console.info(p3, "Loading", key);
|
|
1624
1634
|
const url = `${this.assetBasePath(key)}${key.type !== void 0 ? key.type + "/" : ""}${key.path}${key.extension}`;
|
|
1625
1635
|
console.debug(p3, url);
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
} catch (e) {
|
|
1635
|
-
console.warn("Parser failed to process response", response, e);
|
|
1636
|
-
throw e;
|
|
1637
|
-
}
|
|
1638
|
-
}
|
|
1639
|
-
return void 0;
|
|
1640
|
-
}).catch((err) => {
|
|
1641
|
-
if (err.response) {
|
|
1642
|
-
let response = err.response;
|
|
1643
|
-
if (response.status === 404) {
|
|
1644
|
-
console.debug(p3, key, "not found");
|
|
1636
|
+
const request = { url };
|
|
1637
|
+
try {
|
|
1638
|
+
parser.config(request);
|
|
1639
|
+
let response;
|
|
1640
|
+
try {
|
|
1641
|
+
response = await Requests.mcAssetRequest(request);
|
|
1642
|
+
} catch (cause) {
|
|
1643
|
+
if (cause instanceof RequestError && cause.response?.status === 404) {
|
|
1645
1644
|
return void 0;
|
|
1646
1645
|
}
|
|
1646
|
+
throw cause;
|
|
1647
1647
|
}
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1648
|
+
if (response.data === void 0) {
|
|
1649
|
+
throw new Error("Asset response has no data");
|
|
1650
|
+
}
|
|
1651
|
+
return await parser.parse(response);
|
|
1652
|
+
} catch (cause) {
|
|
1653
|
+
throw new AssetLoadError(this, key, request.url, cause);
|
|
1654
|
+
}
|
|
1651
1655
|
}
|
|
1652
1656
|
assetBasePath(key) {
|
|
1653
1657
|
return `${key.root ?? this.root ?? AssetLoader.ROOT}/${key.rootType !== void 0 ? key.rootType + "/" : ""}${key.namespace !== void 0 ? key.namespace + "/" : ""}${key.assetType !== void 0 ? key.assetType + "/" : ""}`;
|
|
@@ -1693,7 +1697,6 @@ var BrowserArchiveProxy = class {
|
|
|
1693
1697
|
};
|
|
1694
1698
|
|
|
1695
1699
|
// src/assets/source/archive/ArchiveAssetSource.ts
|
|
1696
|
-
var p4 = prefix("ArchiveAssetSource");
|
|
1697
1700
|
var ArchiveAssetSource = class _ArchiveAssetSource extends AssetSource {
|
|
1698
1701
|
constructor(archiveProxy) {
|
|
1699
1702
|
super();
|
|
@@ -1712,74 +1715,31 @@ var ArchiveAssetSource = class _ArchiveAssetSource extends AssetSource {
|
|
|
1712
1715
|
}
|
|
1713
1716
|
async get(key, parser) {
|
|
1714
1717
|
const responseParser = HostedAssetSource.PARSER_MAP.get(parser);
|
|
1715
|
-
|
|
1716
|
-
let entries = await this.getEntries();
|
|
1717
|
-
const path = `${this.assetBasePath(key)}${key.type !== void 0 ? key.type + "/" : ""}${key.path}${key.extension}`;
|
|
1718
|
-
console.log(path);
|
|
1719
|
-
const entry = await this.getEntry(path);
|
|
1720
|
-
console.log(entry);
|
|
1721
|
-
if (!entry) {
|
|
1722
|
-
return void 0;
|
|
1723
|
-
}
|
|
1724
|
-
let blob = await entry.getData();
|
|
1725
|
-
const url = URL.createObjectURL(blob);
|
|
1726
|
-
console.log(url);
|
|
1727
|
-
let req = {
|
|
1728
|
-
url
|
|
1729
|
-
};
|
|
1730
|
-
responseParser.config(req);
|
|
1731
|
-
return Requests.genericRequest(req).then((response) => {
|
|
1732
|
-
if (response && response.data) {
|
|
1733
|
-
try {
|
|
1734
|
-
return responseParser.parse(response);
|
|
1735
|
-
} catch (e) {
|
|
1736
|
-
console.warn("Parser failed to process response", response, e);
|
|
1737
|
-
throw e;
|
|
1738
|
-
}
|
|
1739
|
-
}
|
|
1740
|
-
return void 0;
|
|
1741
|
-
}).catch((err) => {
|
|
1742
|
-
if (err.response) {
|
|
1743
|
-
let response = err.response;
|
|
1744
|
-
if (response.status === 404) {
|
|
1745
|
-
console.debug(p4, key, "not found");
|
|
1746
|
-
return void 0;
|
|
1747
|
-
}
|
|
1748
|
-
}
|
|
1749
|
-
console.debug(p4, "Failed to load", key, err?.message);
|
|
1750
|
-
return void 0;
|
|
1751
|
-
});
|
|
1718
|
+
return this.load(key, responseParser);
|
|
1752
1719
|
}
|
|
1753
|
-
//TODO: abstract this
|
|
1754
1720
|
async load(key, parser) {
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
parser.config(req);
|
|
1762
|
-
return await Requests.genericRequest(req).then((response) => {
|
|
1763
|
-
if (response && response.data) {
|
|
1764
|
-
try {
|
|
1765
|
-
return parser.parse(response);
|
|
1766
|
-
} catch (e) {
|
|
1767
|
-
console.warn("Parser failed to process response", response, e);
|
|
1768
|
-
throw e;
|
|
1769
|
-
}
|
|
1721
|
+
const path = `${this.assetBasePath(key)}${key.type !== void 0 ? key.type + "/" : ""}${key.path}${key.extension}`;
|
|
1722
|
+
let url;
|
|
1723
|
+
try {
|
|
1724
|
+
const entry = await this.getEntry(path);
|
|
1725
|
+
if (!entry) {
|
|
1726
|
+
return void 0;
|
|
1770
1727
|
}
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
return void 0;
|
|
1778
|
-
}
|
|
1728
|
+
url = URL.createObjectURL(await entry.getData());
|
|
1729
|
+
const request = { url };
|
|
1730
|
+
parser.config(request);
|
|
1731
|
+
const response = await Requests.genericRequest(request);
|
|
1732
|
+
if (response.data === void 0) {
|
|
1733
|
+
throw new Error("Asset response has no data");
|
|
1779
1734
|
}
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1735
|
+
return await parser.parse(response);
|
|
1736
|
+
} catch (cause) {
|
|
1737
|
+
throw new AssetLoadError(this, key, path, cause);
|
|
1738
|
+
} finally {
|
|
1739
|
+
if (url !== void 0) {
|
|
1740
|
+
URL.revokeObjectURL(url);
|
|
1741
|
+
}
|
|
1742
|
+
}
|
|
1783
1743
|
}
|
|
1784
1744
|
assetBasePath(key) {
|
|
1785
1745
|
return `${key.rootType !== void 0 ? key.rootType + "/" : ""}${key.namespace !== void 0 ? key.namespace + "/" : ""}${key.assetType !== void 0 ? key.assetType + "/" : ""}`;
|
|
@@ -1787,7 +1747,7 @@ var ArchiveAssetSource = class _ArchiveAssetSource extends AssetSource {
|
|
|
1787
1747
|
};
|
|
1788
1748
|
|
|
1789
1749
|
// src/assets/AssetLoader.ts
|
|
1790
|
-
var
|
|
1750
|
+
var p4 = prefix("AssetLoader");
|
|
1791
1751
|
var AssetLoader = class {
|
|
1792
1752
|
static {
|
|
1793
1753
|
this.ROOT = DEFAULT_ROOT;
|
|
@@ -1799,11 +1759,11 @@ var AssetLoader = class {
|
|
|
1799
1759
|
if (override) {
|
|
1800
1760
|
const existing = this.removeSource(key);
|
|
1801
1761
|
if (existing) {
|
|
1802
|
-
console.log(
|
|
1762
|
+
console.log(p4, "Removed existing AssetSource", key);
|
|
1803
1763
|
}
|
|
1804
1764
|
}
|
|
1805
1765
|
this._SOURCES.unshift({ key, source });
|
|
1806
|
-
console.log(
|
|
1766
|
+
console.log(p4, "Added AssetSource", key);
|
|
1807
1767
|
}
|
|
1808
1768
|
static removeSource(key) {
|
|
1809
1769
|
const index = this._SOURCES.findIndex((s) => s.key === key);
|
|
@@ -2067,7 +2027,7 @@ var ModelGenerator = class {
|
|
|
2067
2027
|
};
|
|
2068
2028
|
|
|
2069
2029
|
// src/UVMapper.ts
|
|
2070
|
-
var
|
|
2030
|
+
var p5 = prefix("UVMapper");
|
|
2071
2031
|
var DEFAULT_UV = [0, 0, 16, 16];
|
|
2072
2032
|
var X = 0;
|
|
2073
2033
|
var Y = 1;
|
|
@@ -2244,7 +2204,7 @@ var UVMapper = class {
|
|
|
2244
2204
|
const metaMap = {};
|
|
2245
2205
|
const model = { ...originalModel };
|
|
2246
2206
|
const isItemModel = !("elements" in model);
|
|
2247
|
-
console.debug(
|
|
2207
|
+
console.debug(p5, "Creating Atlas for", model.key);
|
|
2248
2208
|
if (model.textures) {
|
|
2249
2209
|
const promises = [];
|
|
2250
2210
|
const uniqueTextureNames = [];
|
|
@@ -2258,7 +2218,7 @@ var UVMapper = class {
|
|
|
2258
2218
|
const assetKey = AssetKey.parse("textures", textureValue, model.key);
|
|
2259
2219
|
promises.push(ModelTextures.get(assetKey).then((asset) => {
|
|
2260
2220
|
if (!asset) {
|
|
2261
|
-
console.warn(
|
|
2221
|
+
console.warn(p5, "Missing texture", assetKey);
|
|
2262
2222
|
return;
|
|
2263
2223
|
}
|
|
2264
2224
|
textureMap[textureKey] = new WrappedImage(asset);
|
|
@@ -2270,7 +2230,7 @@ var UVMapper = class {
|
|
|
2270
2230
|
}
|
|
2271
2231
|
await Promise.all(promises);
|
|
2272
2232
|
const textureCount = uniqueTextureNames.length;
|
|
2273
|
-
console.debug(
|
|
2233
|
+
console.debug(p5, "Creating Atlas for", textureCount, "textures");
|
|
2274
2234
|
this.fillMissingTextureKeys(model.textures, textureMap);
|
|
2275
2235
|
this.fillMissingTextureKeys(model.textures, metaMap);
|
|
2276
2236
|
const sizes = {};
|
|
@@ -2290,7 +2250,7 @@ var UVMapper = class {
|
|
|
2290
2250
|
this.fillMissingTextureKeys(model.textures, sizes);
|
|
2291
2251
|
const s = Math.ceil(Math.sqrt(textureCount + 1));
|
|
2292
2252
|
const size = Math.ceil(s * maxWidth);
|
|
2293
|
-
console.debug(
|
|
2253
|
+
console.debug(p5, "Atlas size:", size);
|
|
2294
2254
|
const squaredSize = size * size;
|
|
2295
2255
|
const missing = await ImageLoader.getData("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAQMAAACQp+OdAAAABlBMVEX/AP8AAACfphTyAAAAFUlEQVQoz2MIhQKGVVAwKjIqQrwIAHRz/wFI17TEAAAAAElFTkSuQmCC");
|
|
2296
2256
|
const empty = await ImageLoader.getData("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAQMAAACQp+OdAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAA5JREFUKM9jGAWjgAIAAAJAAAFSSwuTAAAAAElFTkSuQmCC");
|
|
@@ -2345,10 +2305,10 @@ var UVMapper = class {
|
|
|
2345
2305
|
}
|
|
2346
2306
|
}
|
|
2347
2307
|
const atlasImageData = image.toDataURL();
|
|
2348
|
-
console.log(
|
|
2308
|
+
console.log(p5, "Atlas Image for", model.key, atlasImageData);
|
|
2349
2309
|
this.fillMissingTextureKeys(model.textures, positions);
|
|
2350
2310
|
if (isItemModel) {
|
|
2351
|
-
console.debug(
|
|
2311
|
+
console.debug(p5, "Generating item model for", model);
|
|
2352
2312
|
model.elements = [];
|
|
2353
2313
|
for (let layerName of ModelGenerator.ITEM_LAYERS) {
|
|
2354
2314
|
const textureImage = textureMap[layerName];
|
|
@@ -2356,7 +2316,7 @@ var UVMapper = class {
|
|
|
2356
2316
|
model.elements.push(...ModelGenerator.generateItemModel(textureImage.data, layerName));
|
|
2357
2317
|
}
|
|
2358
2318
|
}
|
|
2359
|
-
console.debug(
|
|
2319
|
+
console.debug(p5, "Item model elements", model.elements);
|
|
2360
2320
|
}
|
|
2361
2321
|
if (!model.elements) {
|
|
2362
2322
|
}
|
|
@@ -2416,7 +2376,7 @@ var UVMapper = class {
|
|
|
2416
2376
|
hasTransparency
|
|
2417
2377
|
);
|
|
2418
2378
|
} else {
|
|
2419
|
-
console.warn(
|
|
2379
|
+
console.warn(p5, "Model does not have any textures", model);
|
|
2420
2380
|
}
|
|
2421
2381
|
return void 0;
|
|
2422
2382
|
}
|
|
@@ -2677,7 +2637,7 @@ var MineRenderError = class _MineRenderError extends Error {
|
|
|
2677
2637
|
|
|
2678
2638
|
// src/renderer/SceneObject.ts
|
|
2679
2639
|
var import_ts_deepmerge3 = __toESM(require_dist());
|
|
2680
|
-
var
|
|
2640
|
+
var p6 = prefix("SceneObject");
|
|
2681
2641
|
var SceneObject = class _SceneObject extends Object3D2 {
|
|
2682
2642
|
constructor(options) {
|
|
2683
2643
|
super();
|
|
@@ -2864,9 +2824,9 @@ var SceneObject = class _SceneObject extends Object3D2 {
|
|
|
2864
2824
|
if (!this.isInstanced) throw new MineRenderError("Object is not instanced");
|
|
2865
2825
|
const i = this._instanceCounter++;
|
|
2866
2826
|
this.setMatrixAt(i, new Matrix42());
|
|
2867
|
-
console.debug(
|
|
2827
|
+
console.debug(p6, "nextInstance " + i);
|
|
2868
2828
|
if (i === this.options.maxInstanceCount) {
|
|
2869
|
-
console.warn(
|
|
2829
|
+
console.warn(p6, "Max instance count reached for " + this);
|
|
2870
2830
|
}
|
|
2871
2831
|
if (this.scene) {
|
|
2872
2832
|
this.scene.stats.instanceCount++;
|
|
@@ -3143,7 +3103,7 @@ var GuiObject = class extends SceneObject {
|
|
|
3143
3103
|
|
|
3144
3104
|
// src/inspector/SceneInspector.ts
|
|
3145
3105
|
import { Raycaster, Vector2 as Vector22 } from "three";
|
|
3146
|
-
var
|
|
3106
|
+
var p7 = prefix("SceneInspector");
|
|
3147
3107
|
var help = "<span>Ctrl+Click to Select<br/></span><br/>";
|
|
3148
3108
|
var SceneInspector = class {
|
|
3149
3109
|
constructor(renderer) {
|
|
@@ -3212,7 +3172,7 @@ var SceneInspector = class {
|
|
|
3212
3172
|
}
|
|
3213
3173
|
selectObject(targetObject, targetIntersection) {
|
|
3214
3174
|
this.selectedObject = targetObject;
|
|
3215
|
-
console.log(
|
|
3175
|
+
console.log(p7, "selected", targetObject);
|
|
3216
3176
|
this.redraw(targetObject, targetIntersection);
|
|
3217
3177
|
}
|
|
3218
3178
|
redraw(targetObject, targetIntersection) {
|
|
@@ -3510,7 +3470,7 @@ var SceneStatsDisplay = class {
|
|
|
3510
3470
|
};
|
|
3511
3471
|
|
|
3512
3472
|
// src/instance/InstanceManager.ts
|
|
3513
|
-
var
|
|
3473
|
+
var p8 = prefix("InstanceManager");
|
|
3514
3474
|
var InstanceManager = class {
|
|
3515
3475
|
constructor() {
|
|
3516
3476
|
this.isInstanceManager = true;
|
|
@@ -3518,7 +3478,7 @@ var InstanceManager = class {
|
|
|
3518
3478
|
}
|
|
3519
3479
|
async get(key) {
|
|
3520
3480
|
if (key in this.instanceCache) {
|
|
3521
|
-
console.debug(
|
|
3481
|
+
console.debug(p8, "key in cache", key);
|
|
3522
3482
|
return (await this.instanceCache[key]).nextInstance();
|
|
3523
3483
|
}
|
|
3524
3484
|
return void 0;
|
|
@@ -3527,13 +3487,17 @@ var InstanceManager = class {
|
|
|
3527
3487
|
if (key in this.instanceCache) {
|
|
3528
3488
|
return await this.get(key);
|
|
3529
3489
|
}
|
|
3530
|
-
console.debug(
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
})
|
|
3536
|
-
|
|
3490
|
+
console.debug(p8, "key not in cache", key);
|
|
3491
|
+
const pending = Promise.resolve().then(supplier).then((obj) => obj.nextInstance());
|
|
3492
|
+
this.instanceCache[key] = pending;
|
|
3493
|
+
try {
|
|
3494
|
+
return await pending;
|
|
3495
|
+
} catch (error) {
|
|
3496
|
+
if (this.instanceCache[key] === pending) {
|
|
3497
|
+
delete this.instanceCache[key];
|
|
3498
|
+
}
|
|
3499
|
+
throw error;
|
|
3500
|
+
}
|
|
3537
3501
|
}
|
|
3538
3502
|
reset() {
|
|
3539
3503
|
for (let instanceCacheKey in this.instanceCache) {
|
|
@@ -4133,7 +4097,7 @@ function computeMorphedAttributes(object) {
|
|
|
4133
4097
|
|
|
4134
4098
|
// src/model/scene/ModelObject.ts
|
|
4135
4099
|
var import_ts_deepmerge5 = __toESM(require_dist());
|
|
4136
|
-
var
|
|
4100
|
+
var p9 = prefix("ModelObject");
|
|
4137
4101
|
var ModelObject = class _ModelObject extends SceneObject {
|
|
4138
4102
|
constructor(originalModel, options) {
|
|
4139
4103
|
super(options);
|
|
@@ -4186,10 +4150,10 @@ var ModelObject = class _ModelObject extends SceneObject {
|
|
|
4186
4150
|
}
|
|
4187
4151
|
});
|
|
4188
4152
|
} else {
|
|
4189
|
-
console.debug(
|
|
4153
|
+
console.debug(p9, this.atlas.model, "has no elements");
|
|
4190
4154
|
}
|
|
4191
4155
|
} else {
|
|
4192
|
-
console.debug(
|
|
4156
|
+
console.debug(p9, "Missing atlas for", this);
|
|
4193
4157
|
}
|
|
4194
4158
|
if (this.options.mergeMeshes) {
|
|
4195
4159
|
let combinedGeo;
|
|
@@ -4248,7 +4212,7 @@ function isModelObject(obj) {
|
|
|
4248
4212
|
// src/model/block/scene/BlockObject.ts
|
|
4249
4213
|
var import_ts_deepmerge6 = __toESM(require_dist());
|
|
4250
4214
|
import { Euler as Euler3, Matrix4 as Matrix46, Vector3 as Vector36 } from "three";
|
|
4251
|
-
var
|
|
4215
|
+
var p10 = prefix("BlockObject");
|
|
4252
4216
|
var BlockObject = class _BlockObject extends SceneObject {
|
|
4253
4217
|
constructor(blockState, options) {
|
|
4254
4218
|
super(options);
|
|
@@ -4271,7 +4235,7 @@ var BlockObject = class _BlockObject extends SceneObject {
|
|
|
4271
4235
|
}
|
|
4272
4236
|
async init() {
|
|
4273
4237
|
if (this.options.applyDefaultState) {
|
|
4274
|
-
const defaultState = this.blockState.key ? BlockStates.getDefaultState(this.blockState.key) : void 0;
|
|
4238
|
+
const defaultState = this.blockState.key ? await BlockStates.getDefaultState(this.blockState.key) : void 0;
|
|
4275
4239
|
if (defaultState && Object.keys(defaultState).length > 0) {
|
|
4276
4240
|
const state = {};
|
|
4277
4241
|
for (let k in defaultState) {
|
|
@@ -4347,7 +4311,7 @@ var BlockObject = class _BlockObject extends SceneObject {
|
|
|
4347
4311
|
} else if (this.blockState.multipart) {
|
|
4348
4312
|
for (let part of this.blockState.multipart) {
|
|
4349
4313
|
if (!part.apply) {
|
|
4350
|
-
console.debug(
|
|
4314
|
+
console.debug(p10, "Missing apply for blockState part", part);
|
|
4351
4315
|
continue;
|
|
4352
4316
|
}
|
|
4353
4317
|
if (!part.when) {
|
|
@@ -6814,7 +6778,7 @@ var MineRenderWorld = class {
|
|
|
6814
6778
|
};
|
|
6815
6779
|
|
|
6816
6780
|
// src/world/Chunk.ts
|
|
6817
|
-
var
|
|
6781
|
+
var p11 = prefix("Chunk");
|
|
6818
6782
|
var Chunk = class _Chunk {
|
|
6819
6783
|
constructor(scene, x, y, z) {
|
|
6820
6784
|
this._blocks = [];
|
|
@@ -6866,7 +6830,7 @@ var Chunk = class _Chunk {
|
|
|
6866
6830
|
const index = _Chunk.chunkPosToBlockIndex(pos);
|
|
6867
6831
|
const current = this._blocks[index];
|
|
6868
6832
|
if (typeof current !== "undefined") {
|
|
6869
|
-
console.debug(
|
|
6833
|
+
console.debug(p11, "deleting existing block at", pos, worldPos, index);
|
|
6870
6834
|
current.object.removeFromScene();
|
|
6871
6835
|
delete this._blocks[index];
|
|
6872
6836
|
}
|
|
@@ -6932,6 +6896,7 @@ export {
|
|
|
6932
6896
|
AXES,
|
|
6933
6897
|
ArchiveAssetSource,
|
|
6934
6898
|
AssetKey,
|
|
6899
|
+
AssetLoadError,
|
|
6935
6900
|
AssetLoader,
|
|
6936
6901
|
AssetParser,
|
|
6937
6902
|
AssetSource,
|