minerender 2.1.0-alpha.10 → 2.1.0-alpha.11
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 +93 -128
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/index.mjs +93 -128
- package/dist/browser/index.mjs.map +1 -1
- package/dist/bundle.js +494 -529
- 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 +94 -128
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +93 -128
- package/dist/node/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/browser/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
|
};
|
|
@@ -1149,12 +1149,12 @@ var AssetKey = class _AssetKey extends BasicAssetKey {
|
|
|
1149
1149
|
return a.join("/");
|
|
1150
1150
|
}
|
|
1151
1151
|
getFullPath() {
|
|
1152
|
-
let
|
|
1152
|
+
let p12 = [];
|
|
1153
1153
|
if (this.type) {
|
|
1154
|
-
|
|
1154
|
+
p12.push(this.type);
|
|
1155
1155
|
}
|
|
1156
|
-
|
|
1157
|
-
return
|
|
1156
|
+
p12.push(this.path);
|
|
1157
|
+
return p12.join("/");
|
|
1158
1158
|
}
|
|
1159
1159
|
toNamespacedString() {
|
|
1160
1160
|
return this.namespace + ":" + this.getFullPath();
|
|
@@ -1179,7 +1179,7 @@ var ModelMerger = class {
|
|
|
1179
1179
|
merged = (0, import_ts_deepmerge.default)(merged, parentModel);
|
|
1180
1180
|
}
|
|
1181
1181
|
merged = (0, import_ts_deepmerge.default)(merged, model);
|
|
1182
|
-
merged.hierarchy = models.map((m) => m.parent).filter((
|
|
1182
|
+
merged.hierarchy = models.map((m) => m.parent).filter((p12) => `${p12}`);
|
|
1183
1183
|
merged.hierarchy.push(`${merged.parent}`);
|
|
1184
1184
|
return merged;
|
|
1185
1185
|
}
|
|
@@ -1366,6 +1366,16 @@ var AssetSource = class {
|
|
|
1366
1366
|
constructor() {
|
|
1367
1367
|
}
|
|
1368
1368
|
};
|
|
1369
|
+
var AssetLoadError = class extends Error {
|
|
1370
|
+
constructor(source, key, path, cause) {
|
|
1371
|
+
super(`Failed to load ${key.toNamespacedString()} from ${path}${cause instanceof Error ? `: ${cause.message}` : ""}`);
|
|
1372
|
+
this.source = source;
|
|
1373
|
+
this.key = key;
|
|
1374
|
+
this.path = path;
|
|
1375
|
+
this.cause = cause;
|
|
1376
|
+
this.name = "AssetLoadError";
|
|
1377
|
+
}
|
|
1378
|
+
};
|
|
1369
1379
|
|
|
1370
1380
|
// src/util/BatchedExecutor.ts
|
|
1371
1381
|
var BatchedExecutor = class {
|
|
@@ -1544,31 +1554,25 @@ var _HostedAssetSource = class _HostedAssetSource extends AssetSource {
|
|
|
1544
1554
|
console.info(p3, "Loading", key);
|
|
1545
1555
|
const url = `${this.assetBasePath(key)}${key.type !== void 0 ? key.type + "/" : ""}${key.path}${key.extension}`;
|
|
1546
1556
|
console.debug(p3, url);
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
} catch (e) {
|
|
1556
|
-
console.warn("Parser failed to process response", response, e);
|
|
1557
|
-
throw e;
|
|
1558
|
-
}
|
|
1559
|
-
}
|
|
1560
|
-
return void 0;
|
|
1561
|
-
}).catch((err) => {
|
|
1562
|
-
if (err.response) {
|
|
1563
|
-
let response = err.response;
|
|
1564
|
-
if (response.status === 404) {
|
|
1565
|
-
console.debug(p3, key, "not found");
|
|
1557
|
+
const request = { url };
|
|
1558
|
+
try {
|
|
1559
|
+
parser.config(request);
|
|
1560
|
+
let response;
|
|
1561
|
+
try {
|
|
1562
|
+
response = await Requests.mcAssetRequest(request);
|
|
1563
|
+
} catch (cause) {
|
|
1564
|
+
if (cause instanceof RequestError && cause.response?.status === 404) {
|
|
1566
1565
|
return void 0;
|
|
1567
1566
|
}
|
|
1567
|
+
throw cause;
|
|
1568
1568
|
}
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1569
|
+
if (response.data === void 0) {
|
|
1570
|
+
throw new Error("Asset response has no data");
|
|
1571
|
+
}
|
|
1572
|
+
return await parser.parse(response);
|
|
1573
|
+
} catch (cause) {
|
|
1574
|
+
throw new AssetLoadError(this, key, request.url, cause);
|
|
1575
|
+
}
|
|
1572
1576
|
}
|
|
1573
1577
|
assetBasePath(key) {
|
|
1574
1578
|
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 + "/" : ""}`;
|
|
@@ -1675,7 +1679,6 @@ var BrowserArchiveProxy = class {
|
|
|
1675
1679
|
};
|
|
1676
1680
|
|
|
1677
1681
|
// src/assets/source/archive/ArchiveAssetSource.ts
|
|
1678
|
-
var p4 = prefix("ArchiveAssetSource");
|
|
1679
1682
|
var ArchiveAssetSource = class _ArchiveAssetSource extends AssetSource {
|
|
1680
1683
|
constructor(archiveProxy) {
|
|
1681
1684
|
super();
|
|
@@ -1694,74 +1697,31 @@ var ArchiveAssetSource = class _ArchiveAssetSource extends AssetSource {
|
|
|
1694
1697
|
}
|
|
1695
1698
|
async get(key, parser) {
|
|
1696
1699
|
const responseParser = HostedAssetSource.PARSER_MAP.get(parser);
|
|
1697
|
-
|
|
1698
|
-
let entries = await this.getEntries();
|
|
1699
|
-
const path = `${this.assetBasePath(key)}${key.type !== void 0 ? key.type + "/" : ""}${key.path}${key.extension}`;
|
|
1700
|
-
console.log(path);
|
|
1701
|
-
const entry = await this.getEntry(path);
|
|
1702
|
-
console.log(entry);
|
|
1703
|
-
if (!entry) {
|
|
1704
|
-
return void 0;
|
|
1705
|
-
}
|
|
1706
|
-
let blob = await entry.getData();
|
|
1707
|
-
const url = URL.createObjectURL(blob);
|
|
1708
|
-
console.log(url);
|
|
1709
|
-
let req = {
|
|
1710
|
-
url
|
|
1711
|
-
};
|
|
1712
|
-
responseParser.config(req);
|
|
1713
|
-
return Requests.genericRequest(req).then((response) => {
|
|
1714
|
-
if (response && response.data) {
|
|
1715
|
-
try {
|
|
1716
|
-
return responseParser.parse(response);
|
|
1717
|
-
} catch (e) {
|
|
1718
|
-
console.warn("Parser failed to process response", response, e);
|
|
1719
|
-
throw e;
|
|
1720
|
-
}
|
|
1721
|
-
}
|
|
1722
|
-
return void 0;
|
|
1723
|
-
}).catch((err) => {
|
|
1724
|
-
if (err.response) {
|
|
1725
|
-
let response = err.response;
|
|
1726
|
-
if (response.status === 404) {
|
|
1727
|
-
console.debug(p4, key, "not found");
|
|
1728
|
-
return void 0;
|
|
1729
|
-
}
|
|
1730
|
-
}
|
|
1731
|
-
console.debug(p4, "Failed to load", key, err?.message);
|
|
1732
|
-
return void 0;
|
|
1733
|
-
});
|
|
1700
|
+
return this.load(key, responseParser);
|
|
1734
1701
|
}
|
|
1735
|
-
//TODO: abstract this
|
|
1736
1702
|
async load(key, parser) {
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
parser.config(req);
|
|
1744
|
-
return await Requests.genericRequest(req).then((response) => {
|
|
1745
|
-
if (response && response.data) {
|
|
1746
|
-
try {
|
|
1747
|
-
return parser.parse(response);
|
|
1748
|
-
} catch (e) {
|
|
1749
|
-
console.warn("Parser failed to process response", response, e);
|
|
1750
|
-
throw e;
|
|
1751
|
-
}
|
|
1703
|
+
const path = `${this.assetBasePath(key)}${key.type !== void 0 ? key.type + "/" : ""}${key.path}${key.extension}`;
|
|
1704
|
+
let url;
|
|
1705
|
+
try {
|
|
1706
|
+
const entry = await this.getEntry(path);
|
|
1707
|
+
if (!entry) {
|
|
1708
|
+
return void 0;
|
|
1752
1709
|
}
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
return void 0;
|
|
1760
|
-
}
|
|
1710
|
+
url = URL.createObjectURL(await entry.getData());
|
|
1711
|
+
const request = { url };
|
|
1712
|
+
parser.config(request);
|
|
1713
|
+
const response = await Requests.genericRequest(request);
|
|
1714
|
+
if (response.data === void 0) {
|
|
1715
|
+
throw new Error("Asset response has no data");
|
|
1761
1716
|
}
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1717
|
+
return await parser.parse(response);
|
|
1718
|
+
} catch (cause) {
|
|
1719
|
+
throw new AssetLoadError(this, key, path, cause);
|
|
1720
|
+
} finally {
|
|
1721
|
+
if (url !== void 0) {
|
|
1722
|
+
URL.revokeObjectURL(url);
|
|
1723
|
+
}
|
|
1724
|
+
}
|
|
1765
1725
|
}
|
|
1766
1726
|
assetBasePath(key) {
|
|
1767
1727
|
return `${key.rootType !== void 0 ? key.rootType + "/" : ""}${key.namespace !== void 0 ? key.namespace + "/" : ""}${key.assetType !== void 0 ? key.assetType + "/" : ""}`;
|
|
@@ -1769,17 +1729,17 @@ var ArchiveAssetSource = class _ArchiveAssetSource extends AssetSource {
|
|
|
1769
1729
|
};
|
|
1770
1730
|
|
|
1771
1731
|
// src/assets/AssetLoader.ts
|
|
1772
|
-
var
|
|
1732
|
+
var p4 = prefix("AssetLoader");
|
|
1773
1733
|
var _AssetLoader = class _AssetLoader {
|
|
1774
1734
|
static addSource(key, source, override = true) {
|
|
1775
1735
|
if (override) {
|
|
1776
1736
|
const existing = this.removeSource(key);
|
|
1777
1737
|
if (existing) {
|
|
1778
|
-
console.log(
|
|
1738
|
+
console.log(p4, "Removed existing AssetSource", key);
|
|
1779
1739
|
}
|
|
1780
1740
|
}
|
|
1781
1741
|
this._SOURCES.unshift({ key, source });
|
|
1782
|
-
console.log(
|
|
1742
|
+
console.log(p4, "Added AssetSource", key);
|
|
1783
1743
|
}
|
|
1784
1744
|
static removeSource(key) {
|
|
1785
1745
|
const index = this._SOURCES.findIndex((s) => s.key === key);
|
|
@@ -2029,7 +1989,7 @@ var ModelGenerator = class {
|
|
|
2029
1989
|
ModelGenerator.ITEM_LAYERS = ["layer0", "layer1", "layer2", "layer3", "layer4"];
|
|
2030
1990
|
|
|
2031
1991
|
// src/UVMapper.ts
|
|
2032
|
-
var
|
|
1992
|
+
var p5 = prefix("UVMapper");
|
|
2033
1993
|
var DEFAULT_UV = [0, 0, 16, 16];
|
|
2034
1994
|
var X = 0;
|
|
2035
1995
|
var Y = 1;
|
|
@@ -2206,7 +2166,7 @@ var UVMapper = class {
|
|
|
2206
2166
|
const metaMap = {};
|
|
2207
2167
|
const model = { ...originalModel };
|
|
2208
2168
|
const isItemModel = !("elements" in model);
|
|
2209
|
-
console.debug(
|
|
2169
|
+
console.debug(p5, "Creating Atlas for", model.key);
|
|
2210
2170
|
if (model.textures) {
|
|
2211
2171
|
const promises = [];
|
|
2212
2172
|
const uniqueTextureNames = [];
|
|
@@ -2220,7 +2180,7 @@ var UVMapper = class {
|
|
|
2220
2180
|
const assetKey = AssetKey.parse("textures", textureValue, model.key);
|
|
2221
2181
|
promises.push(ModelTextures.get(assetKey).then((asset) => {
|
|
2222
2182
|
if (!asset) {
|
|
2223
|
-
console.warn(
|
|
2183
|
+
console.warn(p5, "Missing texture", assetKey);
|
|
2224
2184
|
return;
|
|
2225
2185
|
}
|
|
2226
2186
|
textureMap[textureKey] = new WrappedImage(asset);
|
|
@@ -2232,7 +2192,7 @@ var UVMapper = class {
|
|
|
2232
2192
|
}
|
|
2233
2193
|
await Promise.all(promises);
|
|
2234
2194
|
const textureCount = uniqueTextureNames.length;
|
|
2235
|
-
console.debug(
|
|
2195
|
+
console.debug(p5, "Creating Atlas for", textureCount, "textures");
|
|
2236
2196
|
this.fillMissingTextureKeys(model.textures, textureMap);
|
|
2237
2197
|
this.fillMissingTextureKeys(model.textures, metaMap);
|
|
2238
2198
|
const sizes = {};
|
|
@@ -2252,7 +2212,7 @@ var UVMapper = class {
|
|
|
2252
2212
|
this.fillMissingTextureKeys(model.textures, sizes);
|
|
2253
2213
|
const s = Math.ceil(Math.sqrt(textureCount + 1));
|
|
2254
2214
|
const size = Math.ceil(s * maxWidth);
|
|
2255
|
-
console.debug(
|
|
2215
|
+
console.debug(p5, "Atlas size:", size);
|
|
2256
2216
|
const squaredSize = size * size;
|
|
2257
2217
|
const missing = await ImageLoader.getData("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAQMAAACQp+OdAAAABlBMVEX/AP8AAACfphTyAAAAFUlEQVQoz2MIhQKGVVAwKjIqQrwIAHRz/wFI17TEAAAAAElFTkSuQmCC");
|
|
2258
2218
|
const empty = await ImageLoader.getData("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAQMAAACQp+OdAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAA5JREFUKM9jGAWjgAIAAAJAAAFSSwuTAAAAAElFTkSuQmCC");
|
|
@@ -2307,10 +2267,10 @@ var UVMapper = class {
|
|
|
2307
2267
|
}
|
|
2308
2268
|
}
|
|
2309
2269
|
const atlasImageData = image.toDataURL();
|
|
2310
|
-
console.log(
|
|
2270
|
+
console.log(p5, "Atlas Image for", model.key, atlasImageData);
|
|
2311
2271
|
this.fillMissingTextureKeys(model.textures, positions);
|
|
2312
2272
|
if (isItemModel) {
|
|
2313
|
-
console.debug(
|
|
2273
|
+
console.debug(p5, "Generating item model for", model);
|
|
2314
2274
|
model.elements = [];
|
|
2315
2275
|
for (let layerName of ModelGenerator.ITEM_LAYERS) {
|
|
2316
2276
|
const textureImage = textureMap[layerName];
|
|
@@ -2318,7 +2278,7 @@ var UVMapper = class {
|
|
|
2318
2278
|
model.elements.push(...ModelGenerator.generateItemModel(textureImage.data, layerName));
|
|
2319
2279
|
}
|
|
2320
2280
|
}
|
|
2321
|
-
console.debug(
|
|
2281
|
+
console.debug(p5, "Item model elements", model.elements);
|
|
2322
2282
|
}
|
|
2323
2283
|
if (!model.elements) {
|
|
2324
2284
|
}
|
|
@@ -2378,7 +2338,7 @@ var UVMapper = class {
|
|
|
2378
2338
|
hasTransparency
|
|
2379
2339
|
);
|
|
2380
2340
|
} else {
|
|
2381
|
-
console.warn(
|
|
2341
|
+
console.warn(p5, "Model does not have any textures", model);
|
|
2382
2342
|
}
|
|
2383
2343
|
return void 0;
|
|
2384
2344
|
}
|
|
@@ -2639,7 +2599,7 @@ var MineRenderError = class _MineRenderError extends Error {
|
|
|
2639
2599
|
|
|
2640
2600
|
// src/renderer/SceneObject.ts
|
|
2641
2601
|
var import_ts_deepmerge3 = __toESM(require_dist());
|
|
2642
|
-
var
|
|
2602
|
+
var p6 = prefix("SceneObject");
|
|
2643
2603
|
var _SceneObject = class _SceneObject extends Object3D2 {
|
|
2644
2604
|
constructor(options) {
|
|
2645
2605
|
super();
|
|
@@ -2818,9 +2778,9 @@ var _SceneObject = class _SceneObject extends Object3D2 {
|
|
|
2818
2778
|
if (!this.isInstanced) throw new MineRenderError("Object is not instanced");
|
|
2819
2779
|
const i = this._instanceCounter++;
|
|
2820
2780
|
this.setMatrixAt(i, new Matrix42());
|
|
2821
|
-
console.debug(
|
|
2781
|
+
console.debug(p6, "nextInstance " + i);
|
|
2822
2782
|
if (i === this.options.maxInstanceCount) {
|
|
2823
|
-
console.warn(
|
|
2783
|
+
console.warn(p6, "Max instance count reached for " + this);
|
|
2824
2784
|
}
|
|
2825
2785
|
if (this.scene) {
|
|
2826
2786
|
this.scene.stats.instanceCount++;
|
|
@@ -3102,7 +3062,7 @@ var GuiObject = class extends SceneObject {
|
|
|
3102
3062
|
|
|
3103
3063
|
// src/inspector/SceneInspector.ts
|
|
3104
3064
|
import { Raycaster, Vector2 as Vector22 } from "three";
|
|
3105
|
-
var
|
|
3065
|
+
var p7 = prefix("SceneInspector");
|
|
3106
3066
|
var help = "<span>Ctrl+Click to Select<br/></span><br/>";
|
|
3107
3067
|
var SceneInspector = class {
|
|
3108
3068
|
constructor(renderer) {
|
|
@@ -3171,7 +3131,7 @@ var SceneInspector = class {
|
|
|
3171
3131
|
}
|
|
3172
3132
|
selectObject(targetObject, targetIntersection) {
|
|
3173
3133
|
this.selectedObject = targetObject;
|
|
3174
|
-
console.log(
|
|
3134
|
+
console.log(p7, "selected", targetObject);
|
|
3175
3135
|
this.redraw(targetObject, targetIntersection);
|
|
3176
3136
|
}
|
|
3177
3137
|
redraw(targetObject, targetIntersection) {
|
|
@@ -3469,7 +3429,7 @@ var SceneStatsDisplay = class {
|
|
|
3469
3429
|
};
|
|
3470
3430
|
|
|
3471
3431
|
// src/instance/InstanceManager.ts
|
|
3472
|
-
var
|
|
3432
|
+
var p8 = prefix("InstanceManager");
|
|
3473
3433
|
var InstanceManager = class {
|
|
3474
3434
|
constructor() {
|
|
3475
3435
|
this.isInstanceManager = true;
|
|
@@ -3477,7 +3437,7 @@ var InstanceManager = class {
|
|
|
3477
3437
|
}
|
|
3478
3438
|
async get(key) {
|
|
3479
3439
|
if (key in this.instanceCache) {
|
|
3480
|
-
console.debug(
|
|
3440
|
+
console.debug(p8, "key in cache", key);
|
|
3481
3441
|
return (await this.instanceCache[key]).nextInstance();
|
|
3482
3442
|
}
|
|
3483
3443
|
return void 0;
|
|
@@ -3486,13 +3446,17 @@ var InstanceManager = class {
|
|
|
3486
3446
|
if (key in this.instanceCache) {
|
|
3487
3447
|
return await this.get(key);
|
|
3488
3448
|
}
|
|
3489
|
-
console.debug(
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
})
|
|
3495
|
-
|
|
3449
|
+
console.debug(p8, "key not in cache", key);
|
|
3450
|
+
const pending = Promise.resolve().then(supplier).then((obj) => obj.nextInstance());
|
|
3451
|
+
this.instanceCache[key] = pending;
|
|
3452
|
+
try {
|
|
3453
|
+
return await pending;
|
|
3454
|
+
} catch (error) {
|
|
3455
|
+
if (this.instanceCache[key] === pending) {
|
|
3456
|
+
delete this.instanceCache[key];
|
|
3457
|
+
}
|
|
3458
|
+
throw error;
|
|
3459
|
+
}
|
|
3496
3460
|
}
|
|
3497
3461
|
reset() {
|
|
3498
3462
|
for (let instanceCacheKey in this.instanceCache) {
|
|
@@ -4092,7 +4056,7 @@ function computeMorphedAttributes(object) {
|
|
|
4092
4056
|
|
|
4093
4057
|
// src/model/scene/ModelObject.ts
|
|
4094
4058
|
var import_ts_deepmerge5 = __toESM(require_dist());
|
|
4095
|
-
var
|
|
4059
|
+
var p9 = prefix("ModelObject");
|
|
4096
4060
|
var _ModelObject = class _ModelObject extends SceneObject {
|
|
4097
4061
|
constructor(originalModel, options) {
|
|
4098
4062
|
super(options);
|
|
@@ -4142,10 +4106,10 @@ var _ModelObject = class _ModelObject extends SceneObject {
|
|
|
4142
4106
|
}
|
|
4143
4107
|
});
|
|
4144
4108
|
} else {
|
|
4145
|
-
console.debug(
|
|
4109
|
+
console.debug(p9, this.atlas.model, "has no elements");
|
|
4146
4110
|
}
|
|
4147
4111
|
} else {
|
|
4148
|
-
console.debug(
|
|
4112
|
+
console.debug(p9, "Missing atlas for", this);
|
|
4149
4113
|
}
|
|
4150
4114
|
if (this.options.mergeMeshes) {
|
|
4151
4115
|
let combinedGeo;
|
|
@@ -4206,7 +4170,7 @@ function isModelObject(obj) {
|
|
|
4206
4170
|
// src/model/block/scene/BlockObject.ts
|
|
4207
4171
|
var import_ts_deepmerge6 = __toESM(require_dist());
|
|
4208
4172
|
import { Euler as Euler3, Matrix4 as Matrix46, Vector3 as Vector36 } from "three";
|
|
4209
|
-
var
|
|
4173
|
+
var p10 = prefix("BlockObject");
|
|
4210
4174
|
var _BlockObject = class _BlockObject extends SceneObject {
|
|
4211
4175
|
constructor(blockState, options) {
|
|
4212
4176
|
super(options);
|
|
@@ -4224,7 +4188,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
|
|
|
4224
4188
|
}
|
|
4225
4189
|
async init() {
|
|
4226
4190
|
if (this.options.applyDefaultState) {
|
|
4227
|
-
const defaultState = this.blockState.key ? BlockStates.getDefaultState(this.blockState.key) : void 0;
|
|
4191
|
+
const defaultState = this.blockState.key ? await BlockStates.getDefaultState(this.blockState.key) : void 0;
|
|
4228
4192
|
if (defaultState && Object.keys(defaultState).length > 0) {
|
|
4229
4193
|
const state = {};
|
|
4230
4194
|
for (let k in defaultState) {
|
|
@@ -4300,7 +4264,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
|
|
|
4300
4264
|
} else if (this.blockState.multipart) {
|
|
4301
4265
|
for (let part of this.blockState.multipart) {
|
|
4302
4266
|
if (!part.apply) {
|
|
4303
|
-
console.debug(
|
|
4267
|
+
console.debug(p10, "Missing apply for blockState part", part);
|
|
4304
4268
|
continue;
|
|
4305
4269
|
}
|
|
4306
4270
|
if (!part.when) {
|
|
@@ -6769,7 +6733,7 @@ var MineRenderWorld = class {
|
|
|
6769
6733
|
};
|
|
6770
6734
|
|
|
6771
6735
|
// src/world/Chunk.ts
|
|
6772
|
-
var
|
|
6736
|
+
var p11 = prefix("Chunk");
|
|
6773
6737
|
var Chunk = class _Chunk {
|
|
6774
6738
|
constructor(scene, x, y, z) {
|
|
6775
6739
|
this._blocks = [];
|
|
@@ -6821,7 +6785,7 @@ var Chunk = class _Chunk {
|
|
|
6821
6785
|
const index = _Chunk.chunkPosToBlockIndex(pos);
|
|
6822
6786
|
const current = this._blocks[index];
|
|
6823
6787
|
if (typeof current !== "undefined") {
|
|
6824
|
-
console.debug(
|
|
6788
|
+
console.debug(p11, "deleting existing block at", pos, worldPos, index);
|
|
6825
6789
|
current.object.removeFromScene();
|
|
6826
6790
|
delete this._blocks[index];
|
|
6827
6791
|
}
|
|
@@ -6887,6 +6851,7 @@ export {
|
|
|
6887
6851
|
AXES,
|
|
6888
6852
|
ArchiveAssetSource,
|
|
6889
6853
|
AssetKey,
|
|
6854
|
+
AssetLoadError,
|
|
6890
6855
|
AssetLoader,
|
|
6891
6856
|
AssetParser,
|
|
6892
6857
|
AssetSource,
|