@minecraft/creator-tools 0.6.0 → 0.6.1
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/app/Carto.js +4 -4
- package/app/IProjectItemData.js +2 -2
- package/app/Project.js +6 -6
- package/app/ProjectItem.js +2 -2
- package/app/ProjectItemRelations.js +22 -3
- package/app/ProjectItemUtilities.js +13 -13
- package/app/ProjectUtilities.js +8 -5
- package/cli/ClUtils.js +4 -1
- package/cli/TaskWorker.js +17 -10
- package/core/Constants.js +1 -1
- package/core/ContentIndex.js +13 -5
- package/data/forms/render_controller_set_geometry.form.json +1 -0
- package/data/forms/render_controller_set_materials.form.json +1 -0
- package/data/forms/render_controller_set_textures.form.json +1 -0
- package/data/mci/release.mci.json +1 -1
- package/info/AddOnItemRequirementsGenerator.js +15 -6
- package/info/AddOnRequirementsGenerator.js +12 -4
- package/info/ItemCountsInfoGenerator.js +1 -1
- package/info/JsonFileTagsInfoGenerator.js +138 -23
- package/info/ProjectInfoSet.js +11 -8
- package/info/StrictPlatformInfoGenerator.js +1 -1
- package/info/TextureInfoGenerator.js +3 -3
- package/local/LocalUtilities.js +12 -2
- package/manager/BehaviorPackItemTypeManager.js +1 -1
- package/manager/FormatVersionManager.js +2 -2
- package/maps/app/Carto.js.map +1 -1
- package/maps/app/IProjectItemData.js.map +1 -1
- package/maps/app/Project.js.map +1 -1
- package/maps/app/ProjectItem.js.map +1 -1
- package/maps/app/ProjectItemRelations.js.map +1 -1
- package/maps/app/ProjectItemUtilities.js.map +1 -1
- package/maps/app/ProjectUtilities.js.map +1 -1
- package/maps/cli/ClUtils.js.map +1 -1
- package/maps/cli/TaskWorker.js.map +1 -1
- package/maps/core/Constants.js.map +1 -1
- package/maps/core/ContentIndex.js.map +1 -1
- package/maps/info/AddOnItemRequirementsGenerator.js.map +1 -1
- package/maps/info/AddOnRequirementsGenerator.js.map +1 -1
- package/maps/info/ItemCountsInfoGenerator.js.map +1 -1
- package/maps/info/JsonFileTagsInfoGenerator.js.map +1 -1
- package/maps/info/ProjectInfoSet.js.map +1 -1
- package/maps/info/StrictPlatformInfoGenerator.js.map +1 -1
- package/maps/info/TextureInfoGenerator.js.map +1 -1
- package/maps/local/LocalUtilities.js.map +1 -1
- package/maps/manager/BehaviorPackItemTypeManager.js.map +1 -1
- package/maps/manager/FormatVersionManager.js.map +1 -1
- package/maps/minecraft/AnimationBehaviorDefinition.js.map +1 -1
- package/maps/minecraft/AnimationControllerBehaviorDefinition.js.map +1 -1
- package/maps/minecraft/AnimationControllerResourceDefinition.js.map +1 -1
- package/maps/minecraft/AnimationResourceDefinition.js.map +1 -1
- package/maps/minecraft/AttachableResourceDefinition.js.map +1 -1
- package/maps/minecraft/BehaviorManifestDefinition.js.map +1 -1
- package/maps/minecraft/BlockTypeBehaviorDefinition.js.map +1 -1
- package/maps/minecraft/Database.js.map +1 -1
- package/maps/minecraft/EntityTypeDefinition.js.map +1 -1
- package/maps/minecraft/EntityTypeResourceDefinition.js.map +1 -1
- package/maps/minecraft/FlipbookTextureCatalogDefinition.js.map +1 -1
- package/maps/minecraft/IDefinition.js.map +1 -0
- package/maps/minecraft/IParticleEffect.js.map +1 -1
- package/maps/minecraft/IRecipeBehavior.js.map +1 -1
- package/maps/minecraft/IRenderControllerSet.js.map +1 -1
- package/maps/minecraft/ItemTypeBehaviorDefinition.js.map +1 -1
- package/maps/minecraft/MinecraftDefinitions.js.map +1 -1
- package/maps/minecraft/MusicDefinitionCatalogDefinition.js.map +1 -1
- package/maps/minecraft/ParticleEffectResourceDefinition.js.map +1 -1
- package/maps/minecraft/RecipeBehaviorDefinition.js.map +1 -1
- package/maps/minecraft/RenderControllerSetDefinition.js.map +1 -1
- package/maps/minecraft/ResourceManifestDefinition.js.map +1 -1
- package/maps/minecraft/SoundCatalogDefinition.js.map +1 -1
- package/maps/minecraft/SoundDefinitionCatalogDefinition.js.map +1 -1
- package/maps/minecraft/TerrainTextureCatalogDefinition.js.map +1 -1
- package/maps/minecraft/WorldChunk.js.map +1 -1
- package/minecraft/AttachableResourceDefinition.js +1 -1
- package/minecraft/BehaviorManifestDefinition.js +6 -6
- package/minecraft/Database.js +21 -4
- package/minecraft/EntityTypeResourceDefinition.js +1 -1
- package/minecraft/FlipbookTextureCatalogDefinition.js +94 -2
- package/minecraft/IDefinition.js +4 -0
- package/minecraft/MinecraftDefinitions.js +2 -2
- package/minecraft/ParticleEffectResourceDefinition.js +100 -8
- package/minecraft/RecipeBehaviorDefinition.js +28 -7
- package/minecraft/RenderControllerSetDefinition.js +9 -4
- package/minecraft/ResourceManifestDefinition.js +6 -6
- package/minecraft/SoundDefinitionCatalogDefinition.js +1 -1
- package/minecraft/WorldChunk.js +1 -1
- package/package.json +4 -5
package/app/Carto.js
CHANGED
|
@@ -69,10 +69,10 @@ var CartoMinecraftErrorStatus;
|
|
|
69
69
|
CartoMinecraftErrorStatus[CartoMinecraftErrorStatus["configuration"] = 6] = "configuration";
|
|
70
70
|
})(CartoMinecraftErrorStatus = exports.CartoMinecraftErrorStatus || (exports.CartoMinecraftErrorStatus = {}));
|
|
71
71
|
exports.CartoTargetStrings = [
|
|
72
|
-
"Latest Minecraft
|
|
73
|
-
"Latest Minecraft preview",
|
|
74
|
-
"Latest Education
|
|
75
|
-
"Latest Education
|
|
72
|
+
"Latest Minecraft Bedrock",
|
|
73
|
+
"Latest Minecraft Bedrock preview",
|
|
74
|
+
"Latest Minecraft Education",
|
|
75
|
+
"Latest Minecraft Education preview",
|
|
76
76
|
];
|
|
77
77
|
exports.SidePaneMaxWidth = 880;
|
|
78
78
|
exports.SidePaneMinWidth = 280;
|
package/app/IProjectItemData.js
CHANGED
|
@@ -40,7 +40,7 @@ var ProjectItemType;
|
|
|
40
40
|
ProjectItemType[ProjectItemType["animationControllerBehaviorJson"] = 20] = "animationControllerBehaviorJson";
|
|
41
41
|
ProjectItemType[ProjectItemType["blockTypeBehavior"] = 21] = "blockTypeBehavior";
|
|
42
42
|
ProjectItemType[ProjectItemType["blockMaterialsBehaviorJson"] = 22] = "blockMaterialsBehaviorJson";
|
|
43
|
-
ProjectItemType[ProjectItemType["
|
|
43
|
+
ProjectItemType[ProjectItemType["itemTypeBehavior"] = 23] = "itemTypeBehavior";
|
|
44
44
|
ProjectItemType[ProjectItemType["lootTableBehavior"] = 24] = "lootTableBehavior";
|
|
45
45
|
ProjectItemType[ProjectItemType["biomeResourceJson"] = 25] = "biomeResourceJson";
|
|
46
46
|
ProjectItemType[ProjectItemType["blocksCatalogResourceJson"] = 26] = "blocksCatalogResourceJson";
|
|
@@ -60,7 +60,7 @@ var ProjectItemType;
|
|
|
60
60
|
ProjectItemType[ProjectItemType["featureRuleBehaviorJson"] = 40] = "featureRuleBehaviorJson";
|
|
61
61
|
ProjectItemType[ProjectItemType["featureBehavior"] = 41] = "featureBehavior";
|
|
62
62
|
ProjectItemType[ProjectItemType["functionEventJson"] = 42] = "functionEventJson";
|
|
63
|
-
ProjectItemType[ProjectItemType["
|
|
63
|
+
ProjectItemType[ProjectItemType["recipeBehavior"] = 43] = "recipeBehavior";
|
|
64
64
|
ProjectItemType[ProjectItemType["spawnRuleBehavior"] = 44] = "spawnRuleBehavior";
|
|
65
65
|
ProjectItemType[ProjectItemType["tradingBehaviorJson"] = 45] = "tradingBehaviorJson";
|
|
66
66
|
ProjectItemType[ProjectItemType["volumeBehaviorJson"] = 46] = "volumeBehaviorJson";
|
package/app/Project.js
CHANGED
|
@@ -65,10 +65,10 @@ var FolderContext;
|
|
|
65
65
|
})(FolderContext = exports.FolderContext || (exports.FolderContext = {}));
|
|
66
66
|
exports.ProjectTargetStrings = [
|
|
67
67
|
"<default>",
|
|
68
|
-
"Latest Minecraft
|
|
69
|
-
"Latest Minecraft preview",
|
|
70
|
-
"Latest Education
|
|
71
|
-
"Latest Education
|
|
68
|
+
"Latest Minecraft Bedrock",
|
|
69
|
+
"Latest Minecraft Bedrock preview",
|
|
70
|
+
"Latest Minecraft Education",
|
|
71
|
+
"Latest Minecraft Education preview",
|
|
72
72
|
];
|
|
73
73
|
exports.AUTOGENERATED_CONTENT_TOKEN = "==== AUTOGENERATED";
|
|
74
74
|
exports.AUTOGENERATED_JS_SEPARATOR = "\r\n// ===== AUTOGENERATED CONTENT ===== CONTENT AT OR BELOW THIS LINE WILL BE WIPED AND UPDATED WHEN USED IN TOOLING";
|
|
@@ -1564,7 +1564,7 @@ class Project {
|
|
|
1564
1564
|
newJsonType = IProjectItemData_1.ProjectItemType.dialogueBehaviorJson;
|
|
1565
1565
|
}
|
|
1566
1566
|
else if (folderContext === FolderContext.behaviorPack && folderPathLower.indexOf("/recipes/") >= 0) {
|
|
1567
|
-
newJsonType = IProjectItemData_1.ProjectItemType.
|
|
1567
|
+
newJsonType = IProjectItemData_1.ProjectItemType.recipeBehavior;
|
|
1568
1568
|
}
|
|
1569
1569
|
else if (folderContext === FolderContext.behaviorPack &&
|
|
1570
1570
|
folderPathLower.indexOf("/spawn_rules/") >= 0) {
|
|
@@ -1742,7 +1742,7 @@ class Project {
|
|
|
1742
1742
|
newJsonType = IProjectItemData_1.ProjectItemType.entityTypeBehavior;
|
|
1743
1743
|
}
|
|
1744
1744
|
else if (folderContext === FolderContext.behaviorPack && folderPathLower.indexOf("/items/") >= 0) {
|
|
1745
|
-
newJsonType = IProjectItemData_1.ProjectItemType.
|
|
1745
|
+
newJsonType = IProjectItemData_1.ProjectItemType.itemTypeBehavior;
|
|
1746
1746
|
}
|
|
1747
1747
|
else if (folderContext === FolderContext.behaviorPack && folderPathLower.indexOf("/blocks/") >= 0) {
|
|
1748
1748
|
newJsonType = IProjectItemData_1.ProjectItemType.blockTypeBehavior;
|
package/app/ProjectItem.js
CHANGED
|
@@ -248,7 +248,7 @@ class ProjectItem {
|
|
|
248
248
|
return "behavior/animations/animations.json";
|
|
249
249
|
case IProjectItemData_2.ProjectItemType.blockTypeBehavior:
|
|
250
250
|
return "behavior/blocks/blocks.json";
|
|
251
|
-
case IProjectItemData_2.ProjectItemType.
|
|
251
|
+
case IProjectItemData_2.ProjectItemType.itemTypeBehavior:
|
|
252
252
|
return "behavior/items/items.json";
|
|
253
253
|
case IProjectItemData_2.ProjectItemType.lootTableBehavior:
|
|
254
254
|
return "behavior/loot_tables/loot_tables.json";
|
|
@@ -288,7 +288,7 @@ class ProjectItem {
|
|
|
288
288
|
return "behavior/feature_rules/feature_rules.json";
|
|
289
289
|
case IProjectItemData_2.ProjectItemType.functionEventJson:
|
|
290
290
|
return "behavior/functions/tick.json";
|
|
291
|
-
case IProjectItemData_2.ProjectItemType.
|
|
291
|
+
case IProjectItemData_2.ProjectItemType.recipeBehavior:
|
|
292
292
|
return "behavior/recipes/recipes.json";
|
|
293
293
|
case IProjectItemData_2.ProjectItemType.spawnRuleBehavior:
|
|
294
294
|
return "behavior/spawn_rules/spawn_rules.json";
|
|
@@ -5,6 +5,7 @@ const EntityTypeDefinition_1 = require("../minecraft/EntityTypeDefinition");
|
|
|
5
5
|
const EntityTypeResourceDefinition_1 = require("../minecraft/EntityTypeResourceDefinition");
|
|
6
6
|
const ItemTextureCatalogDefinition_1 = require("../minecraft/ItemTextureCatalogDefinition");
|
|
7
7
|
const MusicDefinitionCatalogDefinition_1 = require("../minecraft/MusicDefinitionCatalogDefinition");
|
|
8
|
+
const ParticleEffectResourceDefinition_1 = require("../minecraft/ParticleEffectResourceDefinition");
|
|
8
9
|
const SoundCatalogDefinition_1 = require("../minecraft/SoundCatalogDefinition");
|
|
9
10
|
const SoundDefinitionCatalogDefinition_1 = require("../minecraft/SoundDefinitionCatalogDefinition");
|
|
10
11
|
const TerrainTextureCatalogDefinition_1 = require("../minecraft/TerrainTextureCatalogDefinition");
|
|
@@ -36,6 +37,15 @@ class ProjectItemRelations {
|
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
}
|
|
40
|
+
else if (item.itemType === IProjectItemData_1.ProjectItemType.particleJson) {
|
|
41
|
+
await item.ensureStorage();
|
|
42
|
+
if (item.file) {
|
|
43
|
+
const particleResource = await ParticleEffectResourceDefinition_1.default.ensureOnFile(item.file);
|
|
44
|
+
if (particleResource) {
|
|
45
|
+
await particleResource.addChildItems(project, item);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
39
49
|
else if (item.itemType === IProjectItemData_1.ProjectItemType.attachableResourceJson) {
|
|
40
50
|
await item.ensureStorage();
|
|
41
51
|
if (item.file) {
|
|
@@ -103,7 +113,16 @@ class ProjectItemRelations {
|
|
|
103
113
|
if (rel.parentItem.file) {
|
|
104
114
|
const entityTypeResource = await EntityTypeResourceDefinition_1.default.ensureOnFile(rel.parentItem.file);
|
|
105
115
|
if (entityTypeResource) {
|
|
106
|
-
await entityTypeResource.
|
|
116
|
+
await entityTypeResource.deleteLinkToChild(rel);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else if (rel.parentItem.itemType === IProjectItemData_1.ProjectItemType.particleJson) {
|
|
121
|
+
await item.ensureStorage();
|
|
122
|
+
if (rel.parentItem.file) {
|
|
123
|
+
const particleResource = await ParticleEffectResourceDefinition_1.default.ensureOnFile(rel.parentItem.file);
|
|
124
|
+
if (particleResource) {
|
|
125
|
+
await particleResource.deleteLinkToChild(rel);
|
|
107
126
|
}
|
|
108
127
|
}
|
|
109
128
|
}
|
|
@@ -112,7 +131,7 @@ class ProjectItemRelations {
|
|
|
112
131
|
if (rel.parentItem.file) {
|
|
113
132
|
const attachableResource = await AttachableResourceDefinition_1.default.ensureOnFile(rel.parentItem.file);
|
|
114
133
|
if (attachableResource) {
|
|
115
|
-
await attachableResource.
|
|
134
|
+
await attachableResource.deleteLinkToChild(rel);
|
|
116
135
|
}
|
|
117
136
|
}
|
|
118
137
|
}
|
|
@@ -121,7 +140,7 @@ class ProjectItemRelations {
|
|
|
121
140
|
if (rel.parentItem.file) {
|
|
122
141
|
const soundCat = await SoundDefinitionCatalogDefinition_1.default.ensureOnFile(rel.parentItem.file);
|
|
123
142
|
if (soundCat) {
|
|
124
|
-
await soundCat.
|
|
143
|
+
await soundCat.deleteLinkToChild(rel.childItem);
|
|
125
144
|
}
|
|
126
145
|
}
|
|
127
146
|
}
|
|
@@ -37,16 +37,16 @@ class ProjectItemUtilities {
|
|
|
37
37
|
const firstHundred = jsonContent.substring(0, 100);
|
|
38
38
|
if (firstHundred.indexOf('"minecraft:recipe_shaped"') >= 0 ||
|
|
39
39
|
firstHundred.indexOf('"minecraft:recipe_shapeless"') >= 0) {
|
|
40
|
-
return { itemType: IProjectItemData_1.ProjectItemType.
|
|
40
|
+
return { itemType: IProjectItemData_1.ProjectItemType.recipeBehavior };
|
|
41
41
|
}
|
|
42
42
|
else if (firstHundred.indexOf('"minecraft:entity"') >= 0) {
|
|
43
43
|
return { itemType: IProjectItemData_1.ProjectItemType.entityTypeBehavior };
|
|
44
44
|
}
|
|
45
45
|
else if (firstHundred.indexOf('"minecraft:item"') >= 0) {
|
|
46
|
-
return { itemType: IProjectItemData_1.ProjectItemType.
|
|
46
|
+
return { itemType: IProjectItemData_1.ProjectItemType.itemTypeBehavior };
|
|
47
47
|
}
|
|
48
48
|
else if (firstHundred.indexOf('"pools"') >= 0) {
|
|
49
|
-
return { itemType: IProjectItemData_1.ProjectItemType.
|
|
49
|
+
return { itemType: IProjectItemData_1.ProjectItemType.itemTypeBehavior };
|
|
50
50
|
}
|
|
51
51
|
else if (firstHundred.indexOf('"minecraft:spawn_rules"') >= 0) {
|
|
52
52
|
return { itemType: IProjectItemData_1.ProjectItemType.spawnRuleBehavior };
|
|
@@ -114,9 +114,9 @@ class ProjectItemUtilities {
|
|
|
114
114
|
return 1851;
|
|
115
115
|
case IProjectItemData_1.ProjectItemType.blockTypeBehavior:
|
|
116
116
|
return 1852;
|
|
117
|
-
case IProjectItemData_1.ProjectItemType.
|
|
117
|
+
case IProjectItemData_1.ProjectItemType.itemTypeBehavior:
|
|
118
118
|
return 1853;
|
|
119
|
-
case IProjectItemData_1.ProjectItemType.
|
|
119
|
+
case IProjectItemData_1.ProjectItemType.recipeBehavior:
|
|
120
120
|
return 1860;
|
|
121
121
|
case IProjectItemData_1.ProjectItemType.particleJson:
|
|
122
122
|
return 1870;
|
|
@@ -188,12 +188,12 @@ class ProjectItemUtilities {
|
|
|
188
188
|
case IProjectItemData_1.ProjectItemType.blockTypeBehavior:
|
|
189
189
|
case IProjectItemData_1.ProjectItemType.blocksCatalogResourceJson:
|
|
190
190
|
case IProjectItemData_1.ProjectItemType.blockTypeResourceJson:
|
|
191
|
-
case IProjectItemData_1.ProjectItemType.
|
|
191
|
+
case IProjectItemData_1.ProjectItemType.itemTypeBehavior:
|
|
192
192
|
case IProjectItemData_1.ProjectItemType.fogResourceJson:
|
|
193
193
|
case IProjectItemData_1.ProjectItemType.tradingBehaviorJson:
|
|
194
194
|
case IProjectItemData_1.ProjectItemType.particleJson:
|
|
195
195
|
case IProjectItemData_1.ProjectItemType.structure:
|
|
196
|
-
case IProjectItemData_1.ProjectItemType.
|
|
196
|
+
case IProjectItemData_1.ProjectItemType.recipeBehavior:
|
|
197
197
|
case IProjectItemData_1.ProjectItemType.biomeBehaviorJson:
|
|
198
198
|
case IProjectItemData_1.ProjectItemType.biomeResourceJson:
|
|
199
199
|
case IProjectItemData_1.ProjectItemType.lootTableBehavior:
|
|
@@ -294,7 +294,7 @@ class ProjectItemUtilities {
|
|
|
294
294
|
case IProjectItemData_1.ProjectItemType.animationControllerBehaviorJson:
|
|
295
295
|
case IProjectItemData_1.ProjectItemType.blockTypeBehavior:
|
|
296
296
|
case IProjectItemData_1.ProjectItemType.blockMaterialsBehaviorJson:
|
|
297
|
-
case IProjectItemData_1.ProjectItemType.
|
|
297
|
+
case IProjectItemData_1.ProjectItemType.itemTypeBehavior:
|
|
298
298
|
case IProjectItemData_1.ProjectItemType.lootTableBehavior:
|
|
299
299
|
case IProjectItemData_1.ProjectItemType.biomeResourceJson:
|
|
300
300
|
case IProjectItemData_1.ProjectItemType.fileListArrayJson:
|
|
@@ -315,7 +315,7 @@ class ProjectItemUtilities {
|
|
|
315
315
|
case IProjectItemData_1.ProjectItemType.featureRuleBehaviorJson:
|
|
316
316
|
case IProjectItemData_1.ProjectItemType.featureBehavior:
|
|
317
317
|
case IProjectItemData_1.ProjectItemType.functionEventJson:
|
|
318
|
-
case IProjectItemData_1.ProjectItemType.
|
|
318
|
+
case IProjectItemData_1.ProjectItemType.recipeBehavior:
|
|
319
319
|
case IProjectItemData_1.ProjectItemType.spawnRuleBehavior:
|
|
320
320
|
case IProjectItemData_1.ProjectItemType.tradingBehaviorJson:
|
|
321
321
|
case IProjectItemData_1.ProjectItemType.volumeBehaviorJson:
|
|
@@ -465,7 +465,7 @@ class ProjectItemUtilities {
|
|
|
465
465
|
return "Block type";
|
|
466
466
|
case IProjectItemData_1.ProjectItemType.blockMaterialsBehaviorJson:
|
|
467
467
|
return "Block type materials";
|
|
468
|
-
case IProjectItemData_1.ProjectItemType.
|
|
468
|
+
case IProjectItemData_1.ProjectItemType.itemTypeBehavior:
|
|
469
469
|
return "Item type";
|
|
470
470
|
case IProjectItemData_1.ProjectItemType.lootTableBehavior:
|
|
471
471
|
return "Loot table";
|
|
@@ -505,7 +505,7 @@ class ProjectItemUtilities {
|
|
|
505
505
|
return "Feature";
|
|
506
506
|
case IProjectItemData_1.ProjectItemType.functionEventJson:
|
|
507
507
|
return "Function event";
|
|
508
|
-
case IProjectItemData_1.ProjectItemType.
|
|
508
|
+
case IProjectItemData_1.ProjectItemType.recipeBehavior:
|
|
509
509
|
return "Recipe";
|
|
510
510
|
case IProjectItemData_1.ProjectItemType.spawnRuleBehavior:
|
|
511
511
|
return "Spawn rule";
|
|
@@ -764,7 +764,7 @@ class ProjectItemUtilities {
|
|
|
764
764
|
return ["attachables"];
|
|
765
765
|
case IProjectItemData_1.ProjectItemType.entityTypeBehavior:
|
|
766
766
|
return ["entities"];
|
|
767
|
-
case IProjectItemData_1.ProjectItemType.
|
|
767
|
+
case IProjectItemData_1.ProjectItemType.itemTypeBehavior:
|
|
768
768
|
case IProjectItemData_1.ProjectItemType.itemTypeResourceJson:
|
|
769
769
|
return ["items"];
|
|
770
770
|
case IProjectItemData_1.ProjectItemType.blockTypeBehavior:
|
|
@@ -775,7 +775,7 @@ class ProjectItemUtilities {
|
|
|
775
775
|
return ["command_modules"];
|
|
776
776
|
case IProjectItemData_1.ProjectItemType.lootTableBehavior:
|
|
777
777
|
return ["loot_tables"];
|
|
778
|
-
case IProjectItemData_1.ProjectItemType.
|
|
778
|
+
case IProjectItemData_1.ProjectItemType.recipeBehavior:
|
|
779
779
|
return ["recipes"];
|
|
780
780
|
case IProjectItemData_1.ProjectItemType.spawnRuleBehavior:
|
|
781
781
|
return ["spawn_rules"];
|
package/app/ProjectUtilities.js
CHANGED
|
@@ -492,8 +492,8 @@ class ProjectUtilities {
|
|
|
492
492
|
const bpManifestJson = await BehaviorManifestDefinition_1.default.ensureOnFile(pi.file);
|
|
493
493
|
if (bpManifestJson) {
|
|
494
494
|
bpManifestJson.randomizeModuleUuids(project.defaultScriptModuleUniqueId, oldUids["defaultScriptModulePack"]);
|
|
495
|
-
if (bpManifestJson.
|
|
496
|
-
bpManifestJson.
|
|
495
|
+
if (bpManifestJson.id !== oldUids["defaultBehaviorPack"] &&
|
|
496
|
+
bpManifestJson.id !== project.defaultBehaviorPackUniqueId) {
|
|
497
497
|
await bpManifestJson.setUuid(Utilities_1.default.createUuid(), project);
|
|
498
498
|
}
|
|
499
499
|
}
|
|
@@ -502,8 +502,8 @@ class ProjectUtilities {
|
|
|
502
502
|
const rpManifestJson = await ResourceManifestDefinition_1.default.ensureOnFile(pi.file);
|
|
503
503
|
if (rpManifestJson) {
|
|
504
504
|
rpManifestJson.randomizeModuleUuids(project.defaultDataUniqueId, oldUids["defaultDataModulePack"]);
|
|
505
|
-
if (rpManifestJson.
|
|
506
|
-
rpManifestJson.
|
|
505
|
+
if (rpManifestJson.id !== oldUids["defaultResourcePack"] &&
|
|
506
|
+
rpManifestJson.id !== project.defaultResourcePackUniqueId) {
|
|
507
507
|
await rpManifestJson.setUuid(Utilities_1.default.createUuid(), project);
|
|
508
508
|
}
|
|
509
509
|
}
|
|
@@ -677,7 +677,10 @@ class ProjectUtilities {
|
|
|
677
677
|
}
|
|
678
678
|
}
|
|
679
679
|
static replaceNamesInPath(path, project, entityTypeProject, newName) {
|
|
680
|
-
path = Utilities_1.default.replaceAll(path, entityTypeProject.id, newName);
|
|
680
|
+
path = Utilities_1.default.replaceAll(path, "/" + entityTypeProject.id + ".", "/" + newName + ".");
|
|
681
|
+
path = Utilities_1.default.replaceAll(path, "\\" + entityTypeProject.id + ".", "\\" + newName + ".");
|
|
682
|
+
path = Utilities_1.default.replaceAll(path, "/" + entityTypeProject.id + "/", "/" + newName + "/");
|
|
683
|
+
path = Utilities_1.default.replaceAll(path, "\\" + entityTypeProject.id + "\\", "\\" + newName + "\\");
|
|
681
684
|
return path;
|
|
682
685
|
}
|
|
683
686
|
static replaceNamesInContent(content, project, entityTypeProject, newName) {
|
package/cli/ClUtils.js
CHANGED
|
@@ -118,7 +118,7 @@ class ClUtils {
|
|
|
118
118
|
await workFolder.load();
|
|
119
119
|
return workFolder;
|
|
120
120
|
}
|
|
121
|
-
static getCarto(localEnv) {
|
|
121
|
+
static getCarto(localEnv, basePath) {
|
|
122
122
|
CartoApp_1.default.localFolderExists = ClUtils.localFolderExists;
|
|
123
123
|
CartoApp_1.default.localFileExists = ClUtils.localFileExists;
|
|
124
124
|
CartoApp_1.default.ensureLocalFolder = ClUtils.ensureLocalFolder;
|
|
@@ -127,6 +127,9 @@ class ClUtils {
|
|
|
127
127
|
CartoApp_1.default.packStorage = new NodeStorage_1.default(localEnv.utilities.cliWorkingPath + "packs" + NodeStorage_1.default.platformFolderDelimiter, "");
|
|
128
128
|
CartoApp_1.default.deploymentStorage = new NodeStorage_1.default(localEnv.utilities.cliWorkingPath + "deployment" + NodeStorage_1.default.platformFolderDelimiter, "");
|
|
129
129
|
CartoApp_1.default.workingStorage = new NodeStorage_1.default(localEnv.utilities.cliWorkingPath + "working" + NodeStorage_1.default.platformFolderDelimiter, "");
|
|
130
|
+
if (localEnv.utilities && basePath) {
|
|
131
|
+
localEnv.utilities.basePathAdjust = basePath;
|
|
132
|
+
}
|
|
130
133
|
const coreStorage = new NodeStorage_1.default(__dirname + "/../data/content/", "");
|
|
131
134
|
Database_1.default.contentFolder = coreStorage.rootFolder;
|
|
132
135
|
Database_1.default.local = localEnv.utilities;
|
package/cli/TaskWorker.js
CHANGED
|
@@ -119,21 +119,28 @@ async function validateAndDisposeProject(project, outputStorage, mcrJsonFile, su
|
|
|
119
119
|
metaStates.push(projectSet);
|
|
120
120
|
pis.disconnectFromProject();
|
|
121
121
|
if (localEnv?.displayInfo || localEnv?.displayVerbose) {
|
|
122
|
+
let lastMessage;
|
|
122
123
|
for (let k = 0; k < pis.items.length; k++) {
|
|
123
124
|
const item = pis.items[k];
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
125
|
+
const message = pis.itemToString(item);
|
|
126
|
+
if (message !== lastMessage) {
|
|
127
|
+
if ((localEnv.displayInfo || localEnv.displayVerbose) &&
|
|
128
|
+
item.itemType !== IInfoItemData_1.InfoItemType.info &&
|
|
129
|
+
item.itemType !== IInfoItemData_1.InfoItemType.featureAggregate) {
|
|
130
|
+
if (item.itemType === IInfoItemData_1.InfoItemType.error || item.itemType === IInfoItemData_1.InfoItemType.testCompleteFail) {
|
|
131
|
+
Log_1.default.error(message);
|
|
132
|
+
lastMessage = message;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
Log_1.default.message(message);
|
|
136
|
+
lastMessage = message;
|
|
137
|
+
}
|
|
129
138
|
}
|
|
130
|
-
else {
|
|
131
|
-
Log_1.default.message
|
|
139
|
+
else if (localEnv.displayVerbose) {
|
|
140
|
+
Log_1.default.verbose(message);
|
|
141
|
+
lastMessage = message;
|
|
132
142
|
}
|
|
133
143
|
}
|
|
134
|
-
else if (localEnv.displayVerbose) {
|
|
135
|
-
Log_1.default.verbose(pis.itemToString(item));
|
|
136
|
-
}
|
|
137
144
|
}
|
|
138
145
|
}
|
|
139
146
|
try {
|
package/core/Constants.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.constants = void 0;
|
|
4
4
|
exports.constants = {
|
|
5
|
-
version: "0.6.
|
|
5
|
+
version: "0.6.1",
|
|
6
6
|
name: "Minecraft Creator Tools",
|
|
7
7
|
disclaimer: "Alpha software. License at https://github.com/mojang/minecraft-creator-tools.",
|
|
8
8
|
copyright: "Copyright 2024 Mojang AB. All rights reserved.",
|
package/core/ContentIndex.js
CHANGED
|
@@ -24,17 +24,25 @@ var AnnotationCategories;
|
|
|
24
24
|
AnnotationCategories["entityComponentDependent"] = "c";
|
|
25
25
|
AnnotationCategories["blockComponentDependent"] = "d";
|
|
26
26
|
AnnotationCategories["entityTypeDependent"] = "e";
|
|
27
|
-
AnnotationCategories["
|
|
27
|
+
AnnotationCategories["entityComponentDependentInGroup"] = "g";
|
|
28
28
|
AnnotationCategories["itemTypeDependent"] = "i";
|
|
29
29
|
AnnotationCategories["itemComponentDependent"] = "j";
|
|
30
|
-
AnnotationCategories["entityComponentDependentInGroup"] = "g";
|
|
31
30
|
AnnotationCategories["blockComponentDependentInPermutation"] = "p";
|
|
32
31
|
AnnotationCategories["storagePathDependent"] = "s";
|
|
33
|
-
AnnotationCategories["entityTypeSource"] = "E";
|
|
34
32
|
AnnotationCategories["blockTypeSource"] = "B";
|
|
33
|
+
AnnotationCategories["entityTypeSource"] = "E";
|
|
35
34
|
AnnotationCategories["itemTypeSource"] = "I";
|
|
35
|
+
AnnotationCategories["itemTextureSource"] = "J";
|
|
36
|
+
AnnotationCategories["blockSounds"] = "L";
|
|
37
|
+
AnnotationCategories["musicDefinitionSource"] = "M";
|
|
38
|
+
AnnotationCategories["entitySounds"] = "N";
|
|
39
|
+
AnnotationCategories["interactiveSounds"] = "R";
|
|
36
40
|
AnnotationCategories["jsSource"] = "S";
|
|
41
|
+
AnnotationCategories["terrainTextureSource"] = "T";
|
|
42
|
+
AnnotationCategories["soundDefinitionSource"] = "U";
|
|
43
|
+
AnnotationCategories["individualEventSoundsSource"] = "V";
|
|
37
44
|
AnnotationCategories["worldProperty"] = "W";
|
|
45
|
+
AnnotationCategories["experiment"] = "X";
|
|
38
46
|
})(AnnotationCategories = exports.AnnotationCategories || (exports.AnnotationCategories = {}));
|
|
39
47
|
const AvoidTermList = ["__proto__", "prototype", "[[Prototype]]"];
|
|
40
48
|
class ContentIndex {
|
|
@@ -283,7 +291,7 @@ class ContentIndex {
|
|
|
283
291
|
}
|
|
284
292
|
for (const item in curNode) {
|
|
285
293
|
// we've found part of our string in this node
|
|
286
|
-
if (item.startsWith(nextStart) && curNode[item] !== undefined) {
|
|
294
|
+
if (item.startsWith(nextStart) && curNode[item] !== undefined && !hasAdvanced) {
|
|
287
295
|
let itemIndex = 0;
|
|
288
296
|
hasAdvanced = true;
|
|
289
297
|
curNode = curNode[item];
|
|
@@ -340,7 +348,7 @@ class ContentIndex {
|
|
|
340
348
|
}
|
|
341
349
|
}
|
|
342
350
|
insert(key, item, annotationChar) {
|
|
343
|
-
if (Utilities_1.default.isNumericIsh(key) || key.length >
|
|
351
|
+
if (Utilities_1.default.isNumericIsh(key) || key.length > 70) {
|
|
344
352
|
return;
|
|
345
353
|
}
|
|
346
354
|
// since we treat ± as special, ban usage of ± in strings.
|