mc-assets 0.2.23 → 0.2.25

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/README.MD CHANGED
@@ -34,10 +34,6 @@ This packages includes versions for: 1.7.10, 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.
34
34
  <details>
35
35
  <summary>Included Block Entities (Additional Block Models) (136):</summary>
36
36
 
37
- - ✅ pale_oak_hanging_sign
38
- - ✅ pale_oak_sign
39
- - ✅ pale_oak_wall_hanging_sign
40
- - ✅ pale_oak_wall_sign
41
37
  - ✅ item_frame
42
38
  - ✅ sign
43
39
  - ✅ wall_sign
@@ -83,6 +79,8 @@ This packages includes versions for: 1.7.10, 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.
83
79
  - ✅ mangrove_wall_hanging_sign
84
80
  - ✅ oak_hanging_sign
85
81
  - ✅ oak_wall_hanging_sign
82
+ - ✅ pale_oak_hanging_sign
83
+ - ✅ pale_oak_wall_hanging_sign
86
84
  - ✅ spruce_hanging_sign
87
85
  - ✅ spruce_wall_hanging_sign
88
86
  - ✅ warped_hanging_sign
@@ -138,6 +136,8 @@ This packages includes versions for: 1.7.10, 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.
138
136
  - ✅ orange_bed
139
137
  - ✅ orange_shulker_box
140
138
  - ✅ orange_wall_banner
139
+ - ✅ pale_oak_sign
140
+ - ✅ pale_oak_wall_sign
141
141
  - ✅ piglin_head
142
142
  - ✅ piglin_wall_head
143
143
  - ✅ pink_banner
@@ -43,7 +43,7 @@ export declare class AtlasParser {
43
43
  imageType: "latest" | "legacy";
44
44
  version: string;
45
45
  } | undefined;
46
- makeNewAtlas(version: string, getCustomImage?: (itemName: string) => DataUrl | HTMLImageElement | boolean | void, tileSize?: number): Promise<{
46
+ makeNewAtlas(version: string, getCustomImage?: (itemName: string) => DataUrl | HTMLImageElement | boolean | void, _unusedTileSize?: number, getTextureSortRankOrTopTextures?: string[] | ((key: string) => number), addTextures?: string[]): Promise<{
47
47
  canvas: HTMLCanvasElement;
48
48
  atlas: import("./atlasCreator").JsonAtlas;
49
49
  readonly newAtlasParser: AtlasParser;
@@ -45,12 +45,12 @@ export class AtlasParser {
45
45
  }
46
46
  };
47
47
  }
48
- async makeNewAtlas(version, getCustomImage, tileSize = this.atlas.latest.tileSize) {
48
+ async makeNewAtlas(version, getCustomImage, _unusedTileSize = this.atlas.latest.tileSize, getTextureSortRankOrTopTextures, addTextures = []) {
49
49
  const itemsAtlases = this.atlasJson;
50
50
  const newTextures = {};
51
51
  const legacyImg = this.atlasHasLegacyImage ? await getLoadedImage(this.legacyImage) : null;
52
52
  const latestImg = await getLoadedImage(this.latestImage);
53
- for (const [itemName, texture] of Object.entries(itemsAtlases.latest.textures)) {
53
+ for (const itemName of new Set([...Object.keys(itemsAtlases.latest.textures), ...addTextures])) {
54
54
  const customImage = getCustomImage?.(itemName);
55
55
  if (customImage === false)
56
56
  continue;
@@ -67,7 +67,7 @@ export class AtlasParser {
67
67
  }
68
68
  const info = this.getTextureInfo(itemName, version);
69
69
  if (!info)
70
- throw new Error(`Missing texture info for ${itemName}`);
70
+ throw new Error(`Missing texture info from the provided atlas for ${itemName} and not custom data is provided`);
71
71
  const { u, v, su, sv } = info;
72
72
  const atlas = info.version === 'latest' ? itemsAtlases.latest : itemsAtlases.legacy;
73
73
  const image = info.imageType === 'latest' ? latestImg : legacyImg;
@@ -81,8 +81,13 @@ export class AtlasParser {
81
81
  img: image
82
82
  };
83
83
  }
84
+ const newTexturesKeys = Object.keys(newTextures);
85
+ if (getTextureSortRankOrTopTextures) {
86
+ const getRankFn = typeof getTextureSortRankOrTopTextures === 'function' ? getTextureSortRankOrTopTextures : (key) => getTextureSortRankOrTopTextures.includes(key) ? 1 : -1;
87
+ newTexturesKeys.sort((a, b) => getRankFn(b) - getRankFn(a));
88
+ }
84
89
  const { json, canvas } = makeTextureAtlas({
85
- input: Object.keys(newTextures),
90
+ input: newTexturesKeys,
86
91
  getLoadedImage: (name) => {
87
92
  const texture = newTextures[name];
88
93
  const image = texture.img;
@@ -38793,73 +38793,6 @@
38793
38793
  }
38794
38794
  }
38795
38795
  },
38796
- "pale_oak_hanging_sign": {
38797
- "variants": {
38798
- "rotation=0": {
38799
- "model": "block/sign/pale_oak_hanging",
38800
- "y": 180
38801
- },
38802
- "rotation=1": {
38803
- "model": "block/sign/pale_oak_hanging",
38804
- "y": 202.5
38805
- },
38806
- "rotation=2": {
38807
- "model": "block/sign/pale_oak_hanging",
38808
- "y": 225
38809
- },
38810
- "rotation=3": {
38811
- "model": "block/sign/pale_oak_hanging",
38812
- "y": 247.5
38813
- },
38814
- "rotation=4": {
38815
- "model": "block/sign/pale_oak_hanging",
38816
- "y": 270
38817
- },
38818
- "rotation=5": {
38819
- "model": "block/sign/pale_oak_hanging",
38820
- "y": 292.5
38821
- },
38822
- "rotation=6": {
38823
- "model": "block/sign/pale_oak_hanging",
38824
- "y": 315
38825
- },
38826
- "rotation=7": {
38827
- "model": "block/sign/pale_oak_hanging",
38828
- "y": 337.5
38829
- },
38830
- "rotation=8": {
38831
- "model": "block/sign/pale_oak_hanging"
38832
- },
38833
- "rotation=9": {
38834
- "model": "block/sign/pale_oak_hanging",
38835
- "y": 22.5
38836
- },
38837
- "rotation=10": {
38838
- "model": "block/sign/pale_oak_hanging",
38839
- "y": 45
38840
- },
38841
- "rotation=11": {
38842
- "model": "block/sign/pale_oak_hanging",
38843
- "y": 67.5
38844
- },
38845
- "rotation=12": {
38846
- "model": "block/sign/pale_oak_hanging",
38847
- "y": 90
38848
- },
38849
- "rotation=13": {
38850
- "model": "block/sign/pale_oak_hanging",
38851
- "y": 112.5
38852
- },
38853
- "rotation=14": {
38854
- "model": "block/sign/pale_oak_hanging",
38855
- "y": 135
38856
- },
38857
- "rotation=15": {
38858
- "model": "block/sign/pale_oak_hanging",
38859
- "y": 157.5
38860
- }
38861
- }
38862
- },
38863
38796
  "pale_oak_leaves": {
38864
38797
  "variants": {
38865
38798
  "": {
@@ -38907,73 +38840,6 @@
38907
38840
  }
38908
38841
  }
38909
38842
  },
38910
- "pale_oak_sign": {
38911
- "variants": {
38912
- "rotation=0": {
38913
- "model": "block/sign/pale_oak"
38914
- },
38915
- "rotation=1": {
38916
- "model": "block/sign/pale_oak",
38917
- "y": 22.5
38918
- },
38919
- "rotation=2": {
38920
- "model": "block/sign/pale_oak",
38921
- "y": 45
38922
- },
38923
- "rotation=3": {
38924
- "model": "block/sign/pale_oak",
38925
- "y": 67.5
38926
- },
38927
- "rotation=4": {
38928
- "model": "block/sign/pale_oak",
38929
- "y": 90
38930
- },
38931
- "rotation=5": {
38932
- "model": "block/sign/pale_oak",
38933
- "y": 112.5
38934
- },
38935
- "rotation=6": {
38936
- "model": "block/sign/pale_oak",
38937
- "y": 135
38938
- },
38939
- "rotation=7": {
38940
- "model": "block/sign/pale_oak",
38941
- "y": 157.5
38942
- },
38943
- "rotation=8": {
38944
- "model": "block/sign/pale_oak",
38945
- "y": 180
38946
- },
38947
- "rotation=9": {
38948
- "model": "block/sign/pale_oak",
38949
- "y": 202.5
38950
- },
38951
- "rotation=10": {
38952
- "model": "block/sign/pale_oak",
38953
- "y": 225
38954
- },
38955
- "rotation=11": {
38956
- "model": "block/sign/pale_oak",
38957
- "y": 247.5
38958
- },
38959
- "rotation=12": {
38960
- "model": "block/sign/pale_oak",
38961
- "y": 270
38962
- },
38963
- "rotation=13": {
38964
- "model": "block/sign/pale_oak",
38965
- "y": 292.5
38966
- },
38967
- "rotation=14": {
38968
- "model": "block/sign/pale_oak",
38969
- "y": 315
38970
- },
38971
- "rotation=15": {
38972
- "model": "block/sign/pale_oak",
38973
- "y": 337.5
38974
- }
38975
- }
38976
- },
38977
38843
  "pale_oak_slab": {
38978
38844
  "variants": {
38979
38845
  "type=bottom": {
@@ -39265,44 +39131,6 @@
39265
39131
  }
39266
39132
  }
39267
39133
  },
39268
- "pale_oak_wall_hanging_sign": {
39269
- "variants": {
39270
- "facing=east": {
39271
- "model": "block/sign/pale_oak_wall_hanging",
39272
- "y": 90
39273
- },
39274
- "facing=south": {
39275
- "model": "block/sign/pale_oak_wall_hanging",
39276
- "y": 180
39277
- },
39278
- "facing=west": {
39279
- "model": "block/sign/pale_oak_wall_hanging",
39280
- "y": 270
39281
- },
39282
- "facing=north": {
39283
- "model": "block/sign/pale_oak_wall_hanging"
39284
- }
39285
- }
39286
- },
39287
- "pale_oak_wall_sign": {
39288
- "variants": {
39289
- "facing=south": {
39290
- "model": "block/sign/pale_wall_oak"
39291
- },
39292
- "facing=west": {
39293
- "model": "block/sign/pale_wall_oak",
39294
- "y": 90
39295
- },
39296
- "facing=north": {
39297
- "model": "block/sign/pale_wall_oak",
39298
- "y": 180
39299
- },
39300
- "facing=east": {
39301
- "model": "block/sign/pale_wall_oak",
39302
- "y": 270
39303
- }
39304
- }
39305
- },
39306
39134
  "pale_oak_wood": {
39307
39135
  "variants": {
39308
39136
  "axis=x": {
@@ -41714,6 +41542,92 @@
41714
41542
  }
41715
41543
  }
41716
41544
  },
41545
+ "pale_oak_hanging_sign": {
41546
+ "variants": {
41547
+ "rotation=0": {
41548
+ "model": "block/sign/pale_oak_hanging",
41549
+ "y": 180
41550
+ },
41551
+ "rotation=1": {
41552
+ "model": "block/sign/pale_oak_hanging",
41553
+ "y": 202.5
41554
+ },
41555
+ "rotation=2": {
41556
+ "model": "block/sign/pale_oak_hanging",
41557
+ "y": 225
41558
+ },
41559
+ "rotation=3": {
41560
+ "model": "block/sign/pale_oak_hanging",
41561
+ "y": 247.5
41562
+ },
41563
+ "rotation=4": {
41564
+ "model": "block/sign/pale_oak_hanging",
41565
+ "y": 270
41566
+ },
41567
+ "rotation=5": {
41568
+ "model": "block/sign/pale_oak_hanging",
41569
+ "y": 292.5
41570
+ },
41571
+ "rotation=6": {
41572
+ "model": "block/sign/pale_oak_hanging",
41573
+ "y": 315
41574
+ },
41575
+ "rotation=7": {
41576
+ "model": "block/sign/pale_oak_hanging",
41577
+ "y": 337.5
41578
+ },
41579
+ "rotation=8": {
41580
+ "model": "block/sign/pale_oak_hanging"
41581
+ },
41582
+ "rotation=9": {
41583
+ "model": "block/sign/pale_oak_hanging",
41584
+ "y": 22.5
41585
+ },
41586
+ "rotation=10": {
41587
+ "model": "block/sign/pale_oak_hanging",
41588
+ "y": 45
41589
+ },
41590
+ "rotation=11": {
41591
+ "model": "block/sign/pale_oak_hanging",
41592
+ "y": 67.5
41593
+ },
41594
+ "rotation=12": {
41595
+ "model": "block/sign/pale_oak_hanging",
41596
+ "y": 90
41597
+ },
41598
+ "rotation=13": {
41599
+ "model": "block/sign/pale_oak_hanging",
41600
+ "y": 112.5
41601
+ },
41602
+ "rotation=14": {
41603
+ "model": "block/sign/pale_oak_hanging",
41604
+ "y": 135
41605
+ },
41606
+ "rotation=15": {
41607
+ "model": "block/sign/pale_oak_hanging",
41608
+ "y": 157.5
41609
+ }
41610
+ }
41611
+ },
41612
+ "pale_oak_wall_hanging_sign": {
41613
+ "variants": {
41614
+ "facing=east": {
41615
+ "model": "block/sign/pale_oak_wall_hanging",
41616
+ "y": 90
41617
+ },
41618
+ "facing=south": {
41619
+ "model": "block/sign/pale_oak_wall_hanging",
41620
+ "y": 180
41621
+ },
41622
+ "facing=west": {
41623
+ "model": "block/sign/pale_oak_wall_hanging",
41624
+ "y": 270
41625
+ },
41626
+ "facing=north": {
41627
+ "model": "block/sign/pale_oak_wall_hanging"
41628
+ }
41629
+ }
41630
+ },
41717
41631
  "spruce_hanging_sign": {
41718
41632
  "variants": {
41719
41633
  "rotation=0": {
@@ -43783,6 +43697,92 @@
43783
43697
  }
43784
43698
  }
43785
43699
  },
43700
+ "pale_oak_sign": {
43701
+ "variants": {
43702
+ "rotation=0": {
43703
+ "model": "block/sign/pale_oak"
43704
+ },
43705
+ "rotation=1": {
43706
+ "model": "block/sign/pale_oak",
43707
+ "y": 22.5
43708
+ },
43709
+ "rotation=2": {
43710
+ "model": "block/sign/pale_oak",
43711
+ "y": 45
43712
+ },
43713
+ "rotation=3": {
43714
+ "model": "block/sign/pale_oak",
43715
+ "y": 67.5
43716
+ },
43717
+ "rotation=4": {
43718
+ "model": "block/sign/pale_oak",
43719
+ "y": 90
43720
+ },
43721
+ "rotation=5": {
43722
+ "model": "block/sign/pale_oak",
43723
+ "y": 112.5
43724
+ },
43725
+ "rotation=6": {
43726
+ "model": "block/sign/pale_oak",
43727
+ "y": 135
43728
+ },
43729
+ "rotation=7": {
43730
+ "model": "block/sign/pale_oak",
43731
+ "y": 157.5
43732
+ },
43733
+ "rotation=8": {
43734
+ "model": "block/sign/pale_oak",
43735
+ "y": 180
43736
+ },
43737
+ "rotation=9": {
43738
+ "model": "block/sign/pale_oak",
43739
+ "y": 202.5
43740
+ },
43741
+ "rotation=10": {
43742
+ "model": "block/sign/pale_oak",
43743
+ "y": 225
43744
+ },
43745
+ "rotation=11": {
43746
+ "model": "block/sign/pale_oak",
43747
+ "y": 247.5
43748
+ },
43749
+ "rotation=12": {
43750
+ "model": "block/sign/pale_oak",
43751
+ "y": 270
43752
+ },
43753
+ "rotation=13": {
43754
+ "model": "block/sign/pale_oak",
43755
+ "y": 292.5
43756
+ },
43757
+ "rotation=14": {
43758
+ "model": "block/sign/pale_oak",
43759
+ "y": 315
43760
+ },
43761
+ "rotation=15": {
43762
+ "model": "block/sign/pale_oak",
43763
+ "y": 337.5
43764
+ }
43765
+ }
43766
+ },
43767
+ "pale_oak_wall_sign": {
43768
+ "variants": {
43769
+ "facing=south": {
43770
+ "model": "block/sign/pale_wall_oak"
43771
+ },
43772
+ "facing=west": {
43773
+ "model": "block/sign/pale_wall_oak",
43774
+ "y": 90
43775
+ },
43776
+ "facing=north": {
43777
+ "model": "block/sign/pale_wall_oak",
43778
+ "y": 180
43779
+ },
43780
+ "facing=east": {
43781
+ "model": "block/sign/pale_wall_oak",
43782
+ "y": 270
43783
+ }
43784
+ }
43785
+ },
43786
43786
  "piglin_head": {
43787
43787
  "variants": {
43788
43788
  "rotation=0": {
@@ -32,7 +32,7 @@ export default function worldBlockProvider(blockstatesModels: any, blocksAtlas:
32
32
  angle: number;
33
33
  rescale?: boolean;
34
34
  };
35
- }[] | undefined;
35
+ }[];
36
36
  }[][];
37
37
  getTextureInfo(textureName: string): {
38
38
  su: number;
@@ -57,8 +57,8 @@ export default function worldBlockProvider(blockstatesModels, blocksAtlas, versi
57
57
  }),
58
58
  ...rest
59
59
  };
60
- });
61
- });
60
+ }).filter(a => a.elements?.length);
61
+ }).filter(a => a.length);
62
62
  },
63
63
  getTextureInfo(textureName) {
64
64
  return atlasParser.getTextureInfo(textureName.replace('block/', '').replace('blocks/', ''), version);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mc-assets",
3
- "version": "0.2.23",
3
+ "version": "0.2.25",
4
4
  "author": "Vitaly Turovsky <vital2580@icloud.com>",
5
5
  "license": "MIT",
6
6
  "files": [