minerender 2.1.0-alpha.29 → 2.1.0-alpha.30
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 -5
- package/dist/browser/index.d.ts +9 -5
- package/dist/browser/index.js +27 -23
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/index.mjs +27 -23
- package/dist/browser/index.mjs.map +1 -1
- package/dist/bundle.js +30 -23
- package/dist/bundle.js.map +1 -1
- package/dist/node/index.d.mts +9 -5
- package/dist/node/index.d.ts +9 -5
- package/dist/node/index.js +28 -23
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +27 -23
- package/dist/node/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/browser/index.mjs
CHANGED
|
@@ -5556,10 +5556,10 @@ var SkinTextures = class {
|
|
|
5556
5556
|
});
|
|
5557
5557
|
return { material, slim, legacy: isLegacy };
|
|
5558
5558
|
}
|
|
5559
|
-
static async getCape(src) {
|
|
5559
|
+
static async getCape(src, layout = "minecraft") {
|
|
5560
5560
|
const image = await ImageLoader.getData(src);
|
|
5561
5561
|
const scale = image.width / 64;
|
|
5562
|
-
if (!Number.isInteger(scale) || scale < 1 || image.height !== image.width / 2) {
|
|
5562
|
+
if (layout === "minecraft" && (!Number.isInteger(scale) || scale < 1 || image.height !== image.width / 2)) {
|
|
5563
5563
|
throw new MineRenderError(`Invalid cape dimensions ${image.width}x${image.height}; expected 64x32 or an integer-scaled equivalent`);
|
|
5564
5564
|
}
|
|
5565
5565
|
return Caching.materialCache.get(`cape:${serializeImageKey({ src })}`, () => {
|
|
@@ -5628,6 +5628,13 @@ var SkinTextures = class {
|
|
|
5628
5628
|
}
|
|
5629
5629
|
};
|
|
5630
5630
|
|
|
5631
|
+
// src/skin/CapeLayout.ts
|
|
5632
|
+
var capeTextureSizes = {
|
|
5633
|
+
minecraft: [64, 32],
|
|
5634
|
+
optifine: [46, 22],
|
|
5635
|
+
labymod: [22, 17]
|
|
5636
|
+
};
|
|
5637
|
+
|
|
5631
5638
|
// src/skin/scene/SkinObject.ts
|
|
5632
5639
|
var SkinObject = class extends SceneObject {
|
|
5633
5640
|
constructor(options) {
|
|
@@ -5713,8 +5720,8 @@ var SkinObject = class extends SceneObject {
|
|
|
5713
5720
|
}
|
|
5714
5721
|
this.notifyDirty();
|
|
5715
5722
|
}
|
|
5716
|
-
/** Load a
|
|
5717
|
-
async setCapeTexture(src) {
|
|
5723
|
+
/** Load a cape texture in the selected layout, or pass undefined to remove the cape. */
|
|
5724
|
+
async setCapeTexture(src, layout = "minecraft") {
|
|
5718
5725
|
const load = ++this.capeLoad;
|
|
5719
5726
|
if (src === void 0) {
|
|
5720
5727
|
const group = this.getGroupByName("cape" /* CAPE */);
|
|
@@ -5722,20 +5729,22 @@ var SkinObject = class extends SceneObject {
|
|
|
5722
5729
|
this.notifyDirty();
|
|
5723
5730
|
return;
|
|
5724
5731
|
}
|
|
5725
|
-
const material = await SkinTextures.getCape(src);
|
|
5732
|
+
const material = await SkinTextures.getCape(src, layout);
|
|
5726
5733
|
if (load !== this.capeLoad) return;
|
|
5734
|
+
const size = capeTextureSizes[layout];
|
|
5735
|
+
const geometry = this._getBoxGeometryFromDimensions(
|
|
5736
|
+
classicSkinGeometries.cape,
|
|
5737
|
+
classicSkinTextureCoordinates.cape,
|
|
5738
|
+
size,
|
|
5739
|
+
size
|
|
5740
|
+
);
|
|
5727
5741
|
const mesh = this.getMeshByName("cape" /* CAPE */);
|
|
5728
5742
|
if (mesh) {
|
|
5729
5743
|
mesh.material = material;
|
|
5744
|
+
mesh.geometry = geometry;
|
|
5730
5745
|
} else {
|
|
5731
5746
|
const group = this.createAndAddGroup("cape" /* CAPE */, 0, 24, 2);
|
|
5732
5747
|
group.rotation.set(toRadians(-6), Math.PI, 0);
|
|
5733
|
-
const geometry = this._getBoxGeometryFromDimensions(
|
|
5734
|
-
classicSkinGeometries.cape,
|
|
5735
|
-
classicSkinTextureCoordinates.cape,
|
|
5736
|
-
[64, 32],
|
|
5737
|
-
[64, 32]
|
|
5738
|
-
);
|
|
5739
5748
|
const cape = this.createAndAddMesh("cape" /* CAPE */, group, geometry, material);
|
|
5740
5749
|
cape.position.set(0, -8, -0.5);
|
|
5741
5750
|
}
|
|
@@ -6941,13 +6950,10 @@ var Skins = class {
|
|
|
6941
6950
|
return void 0;
|
|
6942
6951
|
});
|
|
6943
6952
|
}
|
|
6944
|
-
static
|
|
6945
|
-
|
|
6946
|
-
|
|
6947
|
-
|
|
6948
|
-
}
|
|
6949
|
-
return void 0;
|
|
6950
|
-
});
|
|
6953
|
+
/** Returns a full static cape texture for a username or UUID. */
|
|
6954
|
+
static async capeFromCapesDev(player, capeType = "minecraft") {
|
|
6955
|
+
const cape = await this.getCapesDev(player, capeType);
|
|
6956
|
+
return cape?.exists ? cape.imageUrls?.still?.full : void 0;
|
|
6951
6957
|
}
|
|
6952
6958
|
//</editor-fold>
|
|
6953
6959
|
//<editor-fold desc="Helpers">
|
|
@@ -7021,18 +7027,15 @@ var Skins = class {
|
|
|
7021
7027
|
return void 0;
|
|
7022
7028
|
});
|
|
7023
7029
|
}
|
|
7024
|
-
static async getCapesDev(
|
|
7030
|
+
static async getCapesDev(player, type = "all") {
|
|
7025
7031
|
return Requests.genericRequest({
|
|
7026
7032
|
baseURL: "https://api.capes.dev",
|
|
7027
|
-
url: "/load/" +
|
|
7033
|
+
url: "/load/" + encodeURIComponent(player) + "/" + encodeURIComponent(type)
|
|
7028
7034
|
}).then((res) => {
|
|
7029
7035
|
if (res.status === 200) {
|
|
7030
7036
|
return res.data;
|
|
7031
7037
|
}
|
|
7032
7038
|
return void 0;
|
|
7033
|
-
}).catch((err) => {
|
|
7034
|
-
console.warn(err);
|
|
7035
|
-
return void 0;
|
|
7036
7039
|
});
|
|
7037
7040
|
}
|
|
7038
7041
|
static getCrafatarSkinUrl(uuid) {
|
|
@@ -7382,6 +7385,7 @@ export {
|
|
|
7382
7385
|
axisToVec3,
|
|
7383
7386
|
base64decode,
|
|
7384
7387
|
base64encode,
|
|
7388
|
+
capeTextureSizes,
|
|
7385
7389
|
captureException,
|
|
7386
7390
|
changeEvent,
|
|
7387
7391
|
clampRotationDegrees,
|