sandstone 1.1.3 → 1.1.4
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/_internal/index.d.ts +7 -15
- package/dist/_internal/index.d.ts.map +1 -1
- package/dist/_internal/index.js +43 -41
- package/dist/_internal/index.js.map +1 -1
- package/dist/_internal/types/arguments/generated/resources.d.ts +2 -2
- package/dist/_internal/types/arguments/generated/resources.d.ts.map +1 -1
- package/dist/_internal/types/commands/implementations/block/place.d.ts +1 -1
- package/dist/_internal/types/commands/implementations/block/place.d.ts.map +1 -1
- package/dist/_internal/types/commands/implementations/server/schedule.d.ts +1 -1
- package/dist/_internal/types/core/resources/index.d.ts +1 -1
- package/dist/_internal/types/core/resources/resourcepack/blockstate.d.ts +13 -13
- package/dist/_internal/types/core/resources/resourcepack/blockstate.d.ts.map +1 -1
- package/dist/_internal/types/flow/Flow.d.ts +11 -11
- package/dist/_internal/types/flow/loop.d.ts +1 -1
- package/dist/_internal/types/pack/index.d.ts +1 -1
- package/dist/_internal/types/pack/pack.d.ts +7 -7
- package/dist/_internal/types/pack/pack.d.ts.map +1 -1
- package/dist/_internal/types/variables/Data.d.ts +1 -1
- package/dist/_internal/types/variables/DataSets.d.ts +4 -4
- package/dist/_internal/types/variables/DataSets.d.ts.map +1 -1
- package/dist/_internal/types/variables/ResolveNBT.d.ts +2 -2
- package/dist/browser/sandstone.esm.js +43 -41
- package/dist/browser/sandstone.esm.js.map +1 -1
- package/dist/exports/core/index.d.ts +1 -1
- package/dist/exports/core/index.js +1 -1
- package/dist/exports/index.d.ts +1 -1
- package/dist/exports/index.js +1 -1
- package/dist/exports/variables/index.d.ts +1 -1
- package/dist/exports/variables/index.js +1 -1
- package/package.json +2 -2
- package/src/arguments/generated/resources.ts +2 -2
- package/src/commands/implementations/block/place.ts +1 -1
- package/src/core/resources/datapack/itemModifier.ts +2 -2
- package/src/core/resources/resourcepack/blockstate.ts +32 -32
- package/src/pack/pack.ts +17 -37
- package/src/sandstone.ts +4 -20
- package/src/variables/DataSets.ts +4 -4
- package/src/core/resources/datapack/decoratedPotPattern.ts.disable +0 -47
- package/src/core/resources/datapack/slotSource.ts.disable +0 -47
|
@@ -1 +1 @@
|
|
|
1
|
-
export { AdvancementClassArguments, AdvancementNode, AtlasClassArguments, AtlasNode, AudibleVariantType, AwaitNode, BannerPatternClassArguments, BannerPatternNode,
|
|
1
|
+
export { AdvancementClassArguments, AdvancementNode, AtlasClassArguments, AtlasNode, AudibleVariantType, AwaitNode, BannerPatternClassArguments, BannerPatternNode, BlockStateDefinitionArguments, BlockStateDefinitionJSON, BlockStateDefinitionNode, BlockStateDefinitionType, CallableResourceClass, ChatTypeClassArguments, ChatTypeNode, CommandNode, ConditionalDataPointPickClass, ContainerCommandNode, ContainerNode, CustomResourceClass, CustomResourceClassArguments, CustomResourceNode, DamageTypeClassArguments, DamageTypeNode, DataPointPickClass, DialogClassArguments, DialogNode, EnchantmentClassArguments, EnchantmentNode, EnchantmentProviderClassArguments, EnchantmentProviderNode, EquipmentClassArguments, EquipmentNode, FontArguments, FontNode, HintedTagStringType, InstrumentClassArguments, InstrumentNode, ItemModelBuilder, ItemModelDefinitionClassArguments, ItemModelDefinitionInput, ItemModelDefinitionNode, ItemModifierClassArguments, ItemModifierNode, JukeboxSongClassArguments, JukeboxSongNode, LanguageArguments, LanguageNode, ListResource, LootTableClassArguments, LootTableNode, MCFunctionClassArguments, MCFunctionNode, MacroArgument, MacroLiteral, Macroable, ModelClassArguments, ModelNode, Node, ParticleClassArguments, ParticleNode, PlainTextArguments, PlainTextClass, PlainTextNode, PostEffectClassArguments, PostEffectNode, PredicateClassArguments, PredicateNode, RecipeClassArguments, RecipeNode, ResourceClass, ResourceClassArguments, ResourceNode, ResourceNodeConstructor, ResourceNodesMap, SandstoneCore, ShaderClass, ShaderClassArguments, ShaderNode, SoundEventArguments, SoundEventNode, SoundsIndexArguments, SoundsIndexNode, StructureClassArguments, StructureNode, SulfurCubeArchetypeClassArguments, SulfurCubeArchetypeNode, TagClassArguments, TagNode, TagSingleValue, TagValuesJSON, TestEnvironmentClassArguments, TestEnvironmentNode, TestInstanceClassArguments, TestInstanceNode, TextureArguments, TextureNode, TimelineClassArguments, TimelineNode, TradeSetClassArguments, TradeSetNode, TrialSpawnerClassArguments, TrialSpawnerNode, TrimMaterialClassArguments, TrimMaterialNode, TrimPatternClassArguments, TrimPatternNode, VariantClassArguments, VariantNode, VariantType, VillagerTradeClassArguments, VillagerTradeNode, WaypointStyleClassArguments, WaypointStyleNode, WorldClockClassArguments, WorldClockNode, _RawMCFunctionClass, isMacroArgument, jsonStringify } from '../../_internal/index.js'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { AdvancementNode, AtlasNode, AwaitNode, BannerPatternNode,
|
|
1
|
+
export { AdvancementNode, AtlasNode, AwaitNode, BannerPatternNode, BlockStateDefinitionNode, CallableResourceClass, ChatTypeNode, CommandNode, ConditionalDataPointPickClass, ContainerCommandNode, ContainerNode, CustomResourceClass, CustomResourceNode, DamageTypeNode, DataPointPickClass, DialogNode, EnchantmentNode, EnchantmentProviderNode, EquipmentNode, FontNode, InstrumentNode, ItemModelBuilder, ItemModelDefinitionNode, ItemModifierNode, JukeboxSongNode, LanguageNode, ListResource, LootTableNode, MCFunctionNode, MacroArgument, MacroLiteral, ModelNode, Node, ParticleNode, PlainTextClass, PlainTextNode, PostEffectNode, PredicateNode, RecipeNode, ResourceClass, ResourceNodesMap, SandstoneCore, ShaderClass, ShaderNode, SoundEventNode, SoundsIndexNode, StructureNode, SulfurCubeArchetypeNode, TagNode, TestEnvironmentNode, TestInstanceNode, TextureNode, TimelineNode, TradeSetNode, TrialSpawnerNode, TrimMaterialNode, TrimPatternNode, VariantNode, VillagerTradeNode, WaypointStyleNode, WorldClockNode, _RawMCFunctionClass, isMacroArgument, jsonStringify } from '../../_internal/index.js'
|
package/dist/exports/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { Advancement, AdvancementClass, Atlas, AtlasClass, BannerPattern, BannerPatternClass,
|
|
1
|
+
export { Advancement, AdvancementClass, Atlas, AtlasClass, BannerPattern, BannerPatternClass, BlockStateDefinition, BlockStateDefinitionClass, ChatType, ChatTypeClass, Condition, ContentStrategyKind, DamageType, DamageTypeClass, Data, DataArray, DataIndexMap, DataPointClass, DataVariable, DatapackConfig, Dialog, DialogClass, Enchantment, EnchantmentClass, EnchantmentProvider, EnchantmentProviderClass, Equipment, EquipmentClass, Font, FontClass, HandlerFile, Instrument, InstrumentClass, ItemModelDefinition, ItemModelDefinitionClass, ItemModifier, ItemModifierClass, ItemPredicate, JukeboxSong, JukeboxSongClass, Label, LabelClass, Language, LanguageClass, LiteralUnion, LootTable, LootTableClass, MCFunction, MCFunctionClass, Macro, Model, ModelClass, NBT, NBTAllArrays, NBTAllNumberClasses, NBTAllNumbers, NBTAllPrimitives, NBTAllValues, NBTAnyValue, NBTByte, NBTByteArray, NBTClass, NBTDouble, NBTFloat, NBTInt, NBTIntArray, NBTList, NBTLong, NBTLongArray, NBTPrimitive, NBTRange, NBTShort, NBTSimpleClasses, NBTString, NBTTypedArray, NamespacedLiteralUnion, NotNBT, Objective, ObjectiveClass, ParticleClass, ParticleResource, PlainText, PostEffect, PostEffectClass, Predicate, PredicateClass, RawResource, Recipe, RecipeClass, ResolveNBT, ResolveNBTPart, ResolvedNBT, ResourcePackConfig, SandstoneConfig, SandstoneContext, SandstonePack, Score, Selector, SelectorClass, Set, SetType, Shader, SoundEvent, SoundEventClass, SoundsIndex, SoundsIndexClass, StructureClass, SulfurCubeArchetype, SulfurCubeArchetypeClass, Tag, TagClass, TestEnvironment, TestEnvironmentClass, TestInstance, TestInstanceClass, Texture, TextureClass, Timeline, TimelineClass, TradeSet, TradeSetClass, TrialSpawner, TrialSpawnerClass, Trigger, TrimMaterial, TrimMaterialClass, TrimPattern, TrimPatternClass, UUID, UUIDClass, Variable, Variant, VariantClass, VillagerTrade, VillagerTradeClass, WaypointStyle, WaypointStyleClass, WorldClock, WorldClockClass, _, abs, absolute, advancement, attribute, bossbar, clear, clone, comment, createSandstonePack, damage, data, datapack, debug, defaultNamespace, defaultgamemode, depend, dialog, difficulty, effect, enchant, execute, experience, fill, fillbiome, flowVariable, forceload, functionCmd, gamemode, gamerule, getExistingResource, getSandstoneContext, getTempStorage, getVanillaResource, give, hasContext, help, item, jfr, kill, list, loadTags, loc, local, locate, loot, makeCustomResource, mcMetaCache, me, msg, nbtResolver, particle, perf, place, playsound, random, randomUUID, raw, recipe, rel, relative, reload, resetContext, resetSandstonePack, returnCmd, ride, rotate, sandstonePack, say, schedule, scoreboard, seed, setSandstoneContext, setblock, setidletimeout, setworldspawn, sleep, spawnpoint, spectate, spreadplayers, stopsound, stopwatch, summon, swing, tag, team, teammsg, teleport, tell, tellraw, test, time, title, tm, tp, transfer, trigger, version, w, waypoint, weather, worldborder, xp } from '../_internal/index.js'
|
package/dist/exports/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { Advancement, AdvancementClass, Atlas, AtlasClass, BannerPattern, BannerPatternClass,
|
|
1
|
+
export { Advancement, AdvancementClass, Atlas, AtlasClass, BannerPattern, BannerPatternClass, BlockStateDefinition, BlockStateDefinitionClass, ChatType, ChatTypeClass, DamageType, DamageTypeClass, Data, DataArray, DataIndexMap, DataPointClass, DataVariable, Dialog, DialogClass, Enchantment, EnchantmentClass, EnchantmentProvider, EnchantmentProviderClass, Equipment, EquipmentClass, Font, FontClass, Instrument, InstrumentClass, ItemModelDefinition, ItemModelDefinitionClass, ItemModifier, ItemModifierClass, ItemPredicate, JukeboxSong, JukeboxSongClass, Label, LabelClass, Language, LanguageClass, LootTable, LootTableClass, MCFunction, MCFunctionClass, Macro, Model, ModelClass, NBT, NBTAnyValue, NBTByte, NBTByteArray, NBTClass, NBTDouble, NBTFloat, NBTInt, NBTIntArray, NBTLong, NBTLongArray, NBTPrimitive, NBTShort, NBTString, NBTTypedArray, NotNBT, Objective, ObjectiveClass, ParticleClass, ParticleResource, PlainText, PostEffect, PostEffectClass, Predicate, PredicateClass, RawResource, Recipe, RecipeClass, ResolveNBT, ResolveNBTPart, ResolvedNBT, SandstonePack, Score, Selector, SelectorClass, Set, Shader, SoundEvent, SoundEventClass, SoundsIndex, SoundsIndexClass, StructureClass, SulfurCubeArchetype, SulfurCubeArchetypeClass, Tag, TagClass, TestEnvironment, TestEnvironmentClass, TestInstance, TestInstanceClass, Texture, TextureClass, Timeline, TimelineClass, TradeSet, TradeSetClass, TrialSpawner, TrialSpawnerClass, Trigger, TrimMaterial, TrimMaterialClass, TrimPattern, TrimPatternClass, UUID, UUIDClass, Variable, Variant, VariantClass, VillagerTrade, VillagerTradeClass, WaypointStyle, WaypointStyleClass, WorldClock, WorldClockClass, _, abs, absolute, advancement, attribute, bossbar, clear, clone, comment, createSandstonePack, damage, data, datapack, debug, defaultNamespace, defaultgamemode, depend, dialog, difficulty, effect, enchant, execute, experience, fill, fillbiome, flowVariable, forceload, functionCmd, gamemode, gamerule, getExistingResource, getSandstoneContext, getTempStorage, getVanillaResource, give, hasContext, help, item, jfr, kill, list, loadTags, loc, local, locate, loot, makeCustomResource, mcMetaCache, me, msg, nbtResolver, particle, perf, place, playsound, random, randomUUID, raw, recipe, rel, relative, reload, resetContext, resetSandstonePack, returnCmd, ride, rotate, sandstonePack, say, schedule, scoreboard, seed, setSandstoneContext, setblock, setidletimeout, setworldspawn, sleep, spawnpoint, spectate, spreadplayers, stopsound, stopwatch, summon, swing, tag, team, teammsg, teleport, tell, tellraw, test, time, title, tm, tp, transfer, trigger, version, w, waypoint, weather, worldborder, xp } from '../_internal/index.js'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ConditionClass, ConditionTextComponentClass, DATA_PATH, DATA_TARGET, DATA_TYPES, DataArrayClass, DataArrayInitial, DataClass, DataIndexMapClass, DataIndexMapInitial, EntityLabel, ItemPredicateClass, ItemPredicateItem, IterableDataClass, JSONTextComponentClass, LoopArgument, NBTpathToString, ResolveEntityValues, ResolveNBTClass, ResolveNBTPartClass, ScoreDisplay, SelectorEntityType, SelectorPickClass, SelectorProperties, SleepClass, StringDataPointClass, StructureMirror, StructureRotation, TargetFor, TargetlessDataClass, TargetlessDataPointClass, TextComponentClass, TriggerClass, TriggerHandler, UUIDOptions, UUIDSource, UUIDinNumber, UUIDinScore, VectorClass, _RawLabelClass, _RawObjectiveClass, coordinatesParser, parseJSONText, parseNBT, rangeParser, rotationParser, sanitizeValue, structureMirrorParser, structureRotationParser, targetParser } from '../../_internal/index.js'
|
|
1
|
+
export { ConditionClass, ConditionTextComponentClass, DATA_PATH, DATA_TARGET, DATA_TYPES, DataArrayClass, DataArrayInitial, DataArrayInternal, DataArrayType, DataClass, DataIndexMapClass, DataIndexMapInitial, DataIndexMapInternal, DataIndexMapType, EntityLabel, ItemPredicateClass, ItemPredicateItem, IterableDataClass, JSONTextComponentClass, LoopArgument, NBTpathToString, ResolveEntityValues, ResolveNBTClass, ResolveNBTPartClass, ScoreDisplay, SelectorEntityType, SelectorPickClass, SelectorProperties, SleepClass, StringDataPointClass, StructureMirror, StructureRotation, TargetFor, TargetlessDataClass, TargetlessDataPointClass, TextComponentClass, TriggerClass, TriggerHandler, UUIDOptions, UUIDSource, UUIDinNumber, UUIDinScore, VectorClass, _RawLabelClass, _RawObjectiveClass, coordinatesParser, parseJSONText, parseNBT, rangeParser, rotationParser, sanitizeValue, structureMirrorParser, structureRotationParser, targetParser } from '../../_internal/index.js'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ConditionClass, ConditionTextComponentClass, DataArrayClass, DataClass, DataIndexMapClass, EntityLabel, ItemPredicateClass, IterableDataClass, JSONTextComponentClass, LoopArgument, NBTpathToString, ResolveNBTClass, ResolveNBTPartClass, SelectorPickClass, SleepClass, StringDataPointClass, TargetlessDataClass, TargetlessDataPointClass, TextComponentClass, TriggerClass, VectorClass, _RawLabelClass, _RawObjectiveClass, coordinatesParser, parseJSONText, parseNBT, rangeParser, rotationParser, sanitizeValue, structureMirrorParser, structureRotationParser, targetParser } from '../../_internal/index.js'
|
|
1
|
+
export { ConditionClass, ConditionTextComponentClass, DataArrayClass, DataArrayInternal, DataClass, DataIndexMapClass, DataIndexMapInternal, EntityLabel, ItemPredicateClass, IterableDataClass, JSONTextComponentClass, LoopArgument, NBTpathToString, ResolveNBTClass, ResolveNBTPartClass, SelectorPickClass, SleepClass, StringDataPointClass, TargetlessDataClass, TargetlessDataPointClass, TextComponentClass, TriggerClass, VectorClass, _RawLabelClass, _RawObjectiveClass, coordinatesParser, parseJSONText, parseNBT, rangeParser, rotationParser, sanitizeValue, structureMirrorParser, structureRotationParser, targetParser } from '../../_internal/index.js'
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sandstone",
|
|
3
3
|
"description": "Sandstone, a Typescript library for Minecraft datapacks & resource packs.",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.4",
|
|
5
5
|
"contributors": [
|
|
6
6
|
{
|
|
7
7
|
"name": "TheMrZZ - Florian ERNST",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"publishToNpm": "bun dev:build && bun publish",
|
|
72
72
|
"format": "bun oxlint src --fix",
|
|
73
73
|
"lint": "bun oxlint src",
|
|
74
|
-
"update-from-mcdoc": "
|
|
74
|
+
"update-from-mcdoc": "mcdoc-ts-generator --out-dir \"src/arguments/generated/\" --no-tsconfig"
|
|
75
75
|
},
|
|
76
76
|
"type": "module",
|
|
77
77
|
"main": "dist/exports/index.js",
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
VillagerTradeClass,
|
|
26
26
|
WorldClockClass,
|
|
27
27
|
AtlasClass,
|
|
28
|
-
|
|
28
|
+
BlockStateDefinitionClass,
|
|
29
29
|
EquipmentClass,
|
|
30
30
|
FontClass,
|
|
31
31
|
ItemModelDefinitionClass,
|
|
@@ -66,7 +66,7 @@ export const RESOURCE_CLASS_TYPES = [
|
|
|
66
66
|
[VillagerTradeClass, 'villager_trade'],
|
|
67
67
|
[WorldClockClass, 'world_clock'],
|
|
68
68
|
[AtlasClass, 'atlas'],
|
|
69
|
-
[
|
|
69
|
+
[BlockStateDefinitionClass, 'block_definition'],
|
|
70
70
|
[EquipmentClass, 'equipment'],
|
|
71
71
|
[FontClass, 'font'],
|
|
72
72
|
[ItemModelDefinitionClass, 'item_definition'],
|
|
@@ -26,7 +26,7 @@ export class PlaceCommand<MACRO extends boolean> extends CommandArguments {
|
|
|
26
26
|
* @param pos Optional. Where the placement should be tried.
|
|
27
27
|
*/
|
|
28
28
|
feature = (
|
|
29
|
-
feature: Macroable<Registry['minecraft:worldgen/
|
|
29
|
+
feature: Macroable<Registry['minecraft:worldgen/feature'], MACRO>,
|
|
30
30
|
pos: Macroable<Coordinates<MACRO>, MACRO> = '~ ~ ~' as Coordinates<MACRO>,
|
|
31
31
|
) => this.finalCommand(['feature', feature, coordinatesParser(pos)])
|
|
32
32
|
|
|
@@ -63,7 +63,7 @@ export class ItemModifierClass extends ResourceClass<ItemModifierNode> implement
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
for (const modifier of modifiers) {
|
|
66
|
-
let modifierJSON:
|
|
66
|
+
let modifierJSON: any
|
|
67
67
|
if (modifier instanceof ItemModifierClass) {
|
|
68
68
|
modifierJSON = modifier.itemModifierJSON
|
|
69
69
|
} else {
|
|
@@ -83,7 +83,7 @@ export class ItemModifierClass extends ResourceClass<ItemModifierNode> implement
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
for (const modifier of modifiers) {
|
|
86
|
-
let modifierJSON:
|
|
86
|
+
let modifierJSON: any
|
|
87
87
|
if (modifier instanceof ItemModifierClass) {
|
|
88
88
|
modifierJSON = modifier.itemModifierJSON
|
|
89
89
|
} else {
|
|
@@ -6,115 +6,115 @@ import type { ListResource, ResourceClassArguments, ResourceNode } from '../reso
|
|
|
6
6
|
import { ResourceClass, jsonStringify } from '../resource'
|
|
7
7
|
import type { AllKeys } from 'sandstone/utils'
|
|
8
8
|
|
|
9
|
-
export type
|
|
10
|
-
export type
|
|
9
|
+
export type BlockStateDefinitionJSON = NonNullable<MCDocToJSON<SymbolResource['block_definition']>>
|
|
10
|
+
export type BlockStateDefinitionType = AllKeys<BlockStateDefinitionJSON>
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
* A node representing a Minecraft block state.
|
|
13
|
+
* A node representing a Minecraft block state definition.
|
|
14
14
|
*/
|
|
15
|
-
export class
|
|
15
|
+
export class BlockStateDefinitionNode<JSON extends BlockStateDefinitionJSON>
|
|
16
16
|
extends ContainerNode
|
|
17
|
-
implements ResourceNode<
|
|
17
|
+
implements ResourceNode<BlockStateDefinitionClass<JSON>> {
|
|
18
18
|
constructor(
|
|
19
19
|
sandstoneCore: SandstoneCore,
|
|
20
|
-
public resource:
|
|
20
|
+
public resource: BlockStateDefinitionClass<JSON>,
|
|
21
21
|
) {
|
|
22
22
|
super(sandstoneCore)
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
getValue = () => jsonStringify(this.resource.
|
|
25
|
+
getValue = () => jsonStringify(this.resource.blockStateDefinitionJSON, this.resource._resourceType as keyof typeof RESOURCE_PATHS)
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export type
|
|
28
|
+
export type BlockStateDefinitionArguments<JSON extends BlockStateDefinitionJSON> = {
|
|
29
29
|
/**
|
|
30
|
-
* The block state's JSON.
|
|
30
|
+
* The block state definition's JSON.
|
|
31
31
|
*/
|
|
32
32
|
json: JSON
|
|
33
33
|
} & ResourceClassArguments<'list'>
|
|
34
34
|
|
|
35
|
-
export class
|
|
36
|
-
extends ResourceClass<
|
|
35
|
+
export class BlockStateDefinitionClass<JSON extends BlockStateDefinitionJSON, Type = Extract<AllKeys<JSON>, BlockStateDefinitionType>>
|
|
36
|
+
extends ResourceClass<BlockStateDefinitionNode<JSON>>
|
|
37
37
|
implements ListResource {
|
|
38
38
|
static readonly resourceType = 'block_definition'
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
blockStateDefinitionJSON: JSON
|
|
41
41
|
|
|
42
42
|
type: Type
|
|
43
43
|
|
|
44
44
|
constructor(
|
|
45
45
|
core: SandstoneCore,
|
|
46
46
|
name: string,
|
|
47
|
-
args:
|
|
47
|
+
args: BlockStateDefinitionArguments<JSON>,
|
|
48
48
|
) {
|
|
49
49
|
super(
|
|
50
50
|
core,
|
|
51
51
|
{ packType: core.pack.resourcePack() },
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
core.pack.resourceToPath(name, RESOURCE_PATHS[
|
|
52
|
+
BlockStateDefinitionNode,
|
|
53
|
+
BlockStateDefinitionClass.resourceType,
|
|
54
|
+
core.pack.resourceToPath(name, RESOURCE_PATHS[BlockStateDefinitionClass.resourceType].path),
|
|
55
55
|
args,
|
|
56
56
|
)
|
|
57
57
|
|
|
58
|
-
this.
|
|
58
|
+
this.blockStateDefinitionJSON = args.json
|
|
59
59
|
|
|
60
|
-
this.type = Object.keys(this.
|
|
60
|
+
this.type = Object.keys(this.blockStateDefinitionJSON)[0] as Type
|
|
61
61
|
|
|
62
62
|
this.handleConflicts()
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
push(...states:
|
|
65
|
+
push(...states: BlockStateDefinitionClass<any, Type>[] | BlockStateDefinitionJSON[]) {
|
|
66
66
|
if (this.type === 'variants') {
|
|
67
|
-
if (states[0] instanceof
|
|
67
|
+
if (states[0] instanceof BlockStateDefinitionClass) {
|
|
68
68
|
for (const state of states) {
|
|
69
69
|
/** @ts-ignore */
|
|
70
|
-
this.
|
|
70
|
+
this.blockStateDefinitionJSON.variants = { ...this.blockStateDefinitionJSON.variants, ...state.blockStateDefinitionJSON.variants }
|
|
71
71
|
}
|
|
72
72
|
} else {
|
|
73
73
|
for (const state of states) {
|
|
74
74
|
/** @ts-ignore */
|
|
75
|
-
this.
|
|
75
|
+
this.blockStateDefinitionJSON.variants = { ...this.blockStateDefinitionJSON.variants, ...state.variants }
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
if (this.type === 'multipart') {
|
|
80
|
-
if (states[0] instanceof
|
|
80
|
+
if (states[0] instanceof BlockStateDefinitionClass) {
|
|
81
81
|
for (const state of states) {
|
|
82
82
|
/** @ts-ignore */
|
|
83
|
-
this.
|
|
83
|
+
this.blockStateDefinitionJSON.multipart.push(...state.blockStateDefinitionJSON.multipart)
|
|
84
84
|
}
|
|
85
85
|
} else {
|
|
86
86
|
for (const state of states) {
|
|
87
87
|
/** @ts-ignore */
|
|
88
|
-
this.
|
|
88
|
+
this.blockStateDefinitionJSON.multipart.push(...state.multipart)
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
unshift(...states:
|
|
94
|
+
unshift(...states: BlockStateDefinitionClass<any, Type>[] | BlockStateDefinitionJSON[]) {
|
|
95
95
|
if (this.type === 'variants') {
|
|
96
|
-
if (states[0] instanceof
|
|
96
|
+
if (states[0] instanceof BlockStateDefinitionClass) {
|
|
97
97
|
for (const state of states) {
|
|
98
98
|
/** @ts-ignore */
|
|
99
|
-
this.
|
|
99
|
+
this.blockStateDefinitionJSON.variants = { ...state.blockStateDefinitionJSON.variants, ...this.blockStateDefinitionJSON.variants }
|
|
100
100
|
}
|
|
101
101
|
} else {
|
|
102
102
|
for (const state of states) {
|
|
103
103
|
/** @ts-ignore */
|
|
104
|
-
this.
|
|
104
|
+
this.blockStateDefinitionJSON.variants = { ...state.variants, ...this.blockStateDefinitionJSON.variants }
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
if (this.type === 'multipart') {
|
|
109
|
-
if (states[0] instanceof
|
|
109
|
+
if (states[0] instanceof BlockStateDefinitionClass) {
|
|
110
110
|
for (const state of states) {
|
|
111
111
|
/** @ts-ignore */
|
|
112
|
-
this.
|
|
112
|
+
this.blockStateDefinitionJSON.multipart.unshift(...state.blockStateDefinitionJSON.multipart)
|
|
113
113
|
}
|
|
114
114
|
} else {
|
|
115
115
|
for (const state of states) {
|
|
116
116
|
/** @ts-ignore */
|
|
117
|
-
this.
|
|
117
|
+
this.blockStateDefinitionJSON.multipart.unshift(...state.multipart)
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
}
|
package/src/pack/pack.ts
CHANGED
|
@@ -24,12 +24,11 @@ import type {
|
|
|
24
24
|
AdvancementClassArguments,
|
|
25
25
|
AtlasClassArguments,
|
|
26
26
|
BannerPatternClassArguments,
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
BlockStateDefinitionArguments,
|
|
28
|
+
BlockStateDefinitionJSON,
|
|
29
29
|
ChatTypeClassArguments,
|
|
30
30
|
DamageTypeClassArguments,
|
|
31
31
|
DataPointPickClass,
|
|
32
|
-
// DecoratedPotPatternClassArguments,
|
|
33
32
|
DialogClassArguments,
|
|
34
33
|
EnchantmentClassArguments,
|
|
35
34
|
EnchantmentProviderClassArguments,
|
|
@@ -52,7 +51,6 @@ import type {
|
|
|
52
51
|
PredicateClassArguments,
|
|
53
52
|
RecipeClassArguments,
|
|
54
53
|
ShaderClassArguments,
|
|
55
|
-
// SlotSourceClassArguments,
|
|
56
54
|
SoundEventArguments,
|
|
57
55
|
SoundsIndexArguments,
|
|
58
56
|
SulfurCubeArchetypeClassArguments,
|
|
@@ -76,10 +74,9 @@ import {
|
|
|
76
74
|
AdvancementClass,
|
|
77
75
|
AtlasClass,
|
|
78
76
|
BannerPatternClass,
|
|
79
|
-
|
|
77
|
+
BlockStateDefinitionClass,
|
|
80
78
|
ChatTypeClass,
|
|
81
79
|
DamageTypeClass,
|
|
82
|
-
// DecoratedPotPatternClass,
|
|
83
80
|
DialogClass,
|
|
84
81
|
EnchantmentClass,
|
|
85
82
|
EnchantmentProviderClass,
|
|
@@ -102,7 +99,6 @@ import {
|
|
|
102
99
|
RecipeClass,
|
|
103
100
|
SandstoneCore,
|
|
104
101
|
ShaderClass,
|
|
105
|
-
// SlotSourceClass,
|
|
106
102
|
SoundEventClass,
|
|
107
103
|
SoundsIndexClass,
|
|
108
104
|
SulfurCubeArchetypeClass,
|
|
@@ -140,9 +136,11 @@ import type {
|
|
|
140
136
|
} from 'sandstone/variables'
|
|
141
137
|
import {
|
|
142
138
|
coordinatesParser,
|
|
143
|
-
|
|
139
|
+
DataArrayType,
|
|
140
|
+
DataArrayInternal,
|
|
144
141
|
DataClass,
|
|
145
|
-
|
|
142
|
+
DataIndexMapType,
|
|
143
|
+
DataIndexMapInternal,
|
|
146
144
|
DataPointClass,
|
|
147
145
|
ItemPredicateClass,
|
|
148
146
|
LabelClass,
|
|
@@ -316,11 +314,11 @@ export class SandstonePack {
|
|
|
316
314
|
}
|
|
317
315
|
return {
|
|
318
316
|
datapack: {
|
|
319
|
-
packFormat:
|
|
317
|
+
packFormat: 111,
|
|
320
318
|
description: 'A Sandstone datapack',
|
|
321
319
|
},
|
|
322
320
|
resourcepack: {
|
|
323
|
-
packFormat:
|
|
321
|
+
packFormat: 92,
|
|
324
322
|
description: 'A Sandstone resource pack',
|
|
325
323
|
},
|
|
326
324
|
}
|
|
@@ -446,7 +444,7 @@ export class SandstonePack {
|
|
|
446
444
|
let pack = this.packTypes.get('datapack') as DataPack
|
|
447
445
|
|
|
448
446
|
if (!pack) {
|
|
449
|
-
const options = this.packOptions.datapack ?? { packFormat:
|
|
447
|
+
const options = this.packOptions.datapack ?? { packFormat: 111, description: 'A Sandstone datapack' }
|
|
450
448
|
pack = this.packTypes.set('datapack', new DataPack(false, options)).get('datapack') as DataPack
|
|
451
449
|
}
|
|
452
450
|
|
|
@@ -457,7 +455,7 @@ export class SandstonePack {
|
|
|
457
455
|
let pack = this.packTypes.get('resourcepack') as ResourcePack
|
|
458
456
|
|
|
459
457
|
if (!pack) {
|
|
460
|
-
const options = this.packOptions.resourcepack ?? { packFormat:
|
|
458
|
+
const options = this.packOptions.resourcepack ?? { packFormat: 92, description: 'A Sandstone resource pack' }
|
|
461
459
|
pack = this.packTypes
|
|
462
460
|
.set('resourcepack', new ResourcePack(options))
|
|
463
461
|
.get('resourcepack') as ResourcePack
|
|
@@ -832,14 +830,14 @@ export class SandstonePack {
|
|
|
832
830
|
initialize: INITIAL,
|
|
833
831
|
dataPoint?: DataPointClass<'storage'>,
|
|
834
832
|
) {
|
|
835
|
-
return
|
|
833
|
+
return DataIndexMapInternal(this, initialize, dataPoint) as DataIndexMapType<INITIAL>
|
|
836
834
|
}
|
|
837
835
|
|
|
838
836
|
DataArray<INITIAL extends readonly NBTObject[] | readonly [string, DataPointClass | DataPointPickClass]>(
|
|
839
837
|
initialize: INITIAL,
|
|
840
838
|
dataPoint?: DataPointClass<'storage'>,
|
|
841
839
|
) {
|
|
842
|
-
return
|
|
840
|
+
return DataArrayInternal(this, initialize, dataPoint) as DataArrayType<INITIAL>
|
|
843
841
|
}
|
|
844
842
|
|
|
845
843
|
getTempStorage = (name: string) => {
|
|
@@ -1123,15 +1121,6 @@ export class SandstonePack {
|
|
|
1123
1121
|
...options,
|
|
1124
1122
|
})
|
|
1125
1123
|
|
|
1126
|
-
// DecoratedPotPattern = (name: string, decoratedPotPattern: NonNullable<SymbolResource['decorated_pot_pattern']>, options?: Partial<DecoratedPotPatternClassArguments>) =>
|
|
1127
|
-
// new DecoratedPotPatternClass(this.core, name, {
|
|
1128
|
-
// json: decoratedPotPattern,
|
|
1129
|
-
// creator: 'user',
|
|
1130
|
-
// addToSandstoneCore: true,
|
|
1131
|
-
// onConflict: conflictDefaults('decorated_pot_pattern') as DecoratedPotPatternClassArguments['onConflict'],
|
|
1132
|
-
// ...options,
|
|
1133
|
-
// })
|
|
1134
|
-
|
|
1135
1124
|
ItemModifier = (name: string, itemModifier: ItemModifierClassArguments['json'], options?: Omit<Partial<ItemModifierClassArguments>, 'json'>) =>
|
|
1136
1125
|
new ItemModifierClass(this.core, name, {
|
|
1137
1126
|
json: itemModifier,
|
|
@@ -1172,15 +1161,6 @@ export class SandstonePack {
|
|
|
1172
1161
|
...options,
|
|
1173
1162
|
})
|
|
1174
1163
|
|
|
1175
|
-
// SlotSource = (name: string, slotSource: NonNullable<SymbolResource['slot_source']>, options?: Partial<SlotSourceClassArguments>) =>
|
|
1176
|
-
// new SlotSourceClass(this.core, name, {
|
|
1177
|
-
// json: slotSource,
|
|
1178
|
-
// creator: 'user',
|
|
1179
|
-
// addToSandstoneCore: true,
|
|
1180
|
-
// onConflict: conflictDefaults('slot_source') as SlotSourceClassArguments['onConflict'],
|
|
1181
|
-
// ...options,
|
|
1182
|
-
// })
|
|
1183
|
-
|
|
1184
1164
|
SulfurCubeArchetype = (name: string, sulfurCubeArchetype: SulfurCubeArchetypeClassArguments['json'], options?: Omit<Partial<SulfurCubeArchetypeClassArguments>, 'json'>) =>
|
|
1185
1165
|
new SulfurCubeArchetypeClass(this.core, name, {
|
|
1186
1166
|
json: sulfurCubeArchetype,
|
|
@@ -1366,16 +1346,16 @@ export class SandstonePack {
|
|
|
1366
1346
|
...options,
|
|
1367
1347
|
})
|
|
1368
1348
|
|
|
1369
|
-
|
|
1349
|
+
BlockStateDefinition<JSON extends BlockStateDefinitionJSON>(
|
|
1370
1350
|
name: string,
|
|
1371
1351
|
json: JSON,
|
|
1372
|
-
options?: Omit<Partial<
|
|
1352
|
+
options?: Omit<Partial<BlockStateDefinitionArguments<JSON>>, 'json'>,
|
|
1373
1353
|
) {
|
|
1374
|
-
return new
|
|
1354
|
+
return new BlockStateDefinitionClass(this.core, name, {
|
|
1375
1355
|
json,
|
|
1376
1356
|
creator: 'user',
|
|
1377
1357
|
addToSandstoneCore: true,
|
|
1378
|
-
onConflict: conflictDefaults('
|
|
1358
|
+
onConflict: conflictDefaults('block_definition') as BlockStateDefinitionArguments<JSON>['onConflict'],
|
|
1379
1359
|
...options,
|
|
1380
1360
|
})
|
|
1381
1361
|
}
|
package/src/sandstone.ts
CHANGED
|
@@ -5,10 +5,9 @@ import type {
|
|
|
5
5
|
AdvancementClassArguments,
|
|
6
6
|
AtlasClassArguments,
|
|
7
7
|
BannerPatternClassArguments,
|
|
8
|
-
|
|
8
|
+
BlockStateDefinitionArguments,
|
|
9
9
|
ChatTypeClassArguments,
|
|
10
10
|
DamageTypeClassArguments,
|
|
11
|
-
// DecoratedPotPatternClassArguments,
|
|
12
11
|
DialogClassArguments,
|
|
13
12
|
EnchantmentClassArguments,
|
|
14
13
|
EnchantmentProviderClassArguments,
|
|
@@ -28,7 +27,6 @@ import type {
|
|
|
28
27
|
PredicateClassArguments,
|
|
29
28
|
RecipeClassArguments,
|
|
30
29
|
ShaderClassArguments,
|
|
31
|
-
// SlotSourceClassArguments,
|
|
32
30
|
SoundEventArguments,
|
|
33
31
|
SoundsIndexArguments,
|
|
34
32
|
SulfurCubeArchetypeClassArguments,
|
|
@@ -295,7 +293,6 @@ export const {
|
|
|
295
293
|
BannerPattern,
|
|
296
294
|
ChatType,
|
|
297
295
|
DamageType,
|
|
298
|
-
// DecoratedPotPattern,
|
|
299
296
|
Dialog,
|
|
300
297
|
Enchantment,
|
|
301
298
|
EnchantmentProvider,
|
|
@@ -305,7 +302,6 @@ export const {
|
|
|
305
302
|
LootTable,
|
|
306
303
|
Predicate,
|
|
307
304
|
Recipe,
|
|
308
|
-
// SlotSource,
|
|
309
305
|
SulfurCubeArchetype,
|
|
310
306
|
Tag,
|
|
311
307
|
TestEnvironment,
|
|
@@ -320,7 +316,7 @@ export const {
|
|
|
320
316
|
WorldClock,
|
|
321
317
|
|
|
322
318
|
Atlas,
|
|
323
|
-
|
|
319
|
+
BlockStateDefinition,
|
|
324
320
|
Equipment,
|
|
325
321
|
Font,
|
|
326
322
|
ItemModelDefinition,
|
|
@@ -380,7 +376,6 @@ export {
|
|
|
380
376
|
BannerPatternClass,
|
|
381
377
|
ChatTypeClass,
|
|
382
378
|
DamageTypeClass,
|
|
383
|
-
// DecoratedPotPatternClass,
|
|
384
379
|
DialogClass,
|
|
385
380
|
EnchantmentClass,
|
|
386
381
|
EnchantmentProviderClass,
|
|
@@ -390,7 +385,6 @@ export {
|
|
|
390
385
|
LootTableClass,
|
|
391
386
|
PredicateClass,
|
|
392
387
|
RecipeClass,
|
|
393
|
-
// SlotSourceClass,
|
|
394
388
|
StructureClass,
|
|
395
389
|
SulfurCubeArchetypeClass,
|
|
396
390
|
TagClass,
|
|
@@ -407,7 +401,7 @@ export {
|
|
|
407
401
|
|
|
408
402
|
// Resourcepack resources
|
|
409
403
|
AtlasClass,
|
|
410
|
-
|
|
404
|
+
BlockStateDefinitionClass,
|
|
411
405
|
EquipmentClass,
|
|
412
406
|
FontClass,
|
|
413
407
|
ItemModelDefinitionClass,
|
|
@@ -673,11 +667,6 @@ type ContentStrategy =
|
|
|
673
667
|
* Will override the defined `default` strategy.
|
|
674
668
|
*/
|
|
675
669
|
| ContentStrategyKind<'recipe', NonNullable<RecipeClassArguments['onConflict']>>
|
|
676
|
-
/**
|
|
677
|
-
* The conflict strategy to use for Slot sources.
|
|
678
|
-
* Will override the defined `default` strategy.
|
|
679
|
-
*/
|
|
680
|
-
// | ContentStrategyKind<'slot_source', NonNullable<SlotSourceClassArguments['onConflict']>>
|
|
681
670
|
/**
|
|
682
671
|
* The conflict strategy to use for Sulfur cube archetypes.
|
|
683
672
|
* Will override the defined `default` strategy.
|
|
@@ -713,11 +702,6 @@ type ContentStrategy =
|
|
|
713
702
|
* Will override the defined `default` strategy.
|
|
714
703
|
*/
|
|
715
704
|
| ContentStrategyKind<'chat_type', NonNullable<ChatTypeClassArguments['onConflict']>>
|
|
716
|
-
/**
|
|
717
|
-
* The conflict strategy to use for Decorated pot patterns.
|
|
718
|
-
* Will override the defined `default` strategy.
|
|
719
|
-
*/
|
|
720
|
-
// | ContentStrategyKind<'decorated_pot_pattern', NonNullable<DecoratedPotPatternClassArguments['onConflict']>>
|
|
721
705
|
/**
|
|
722
706
|
* The conflict strategy to use for Dialogs.
|
|
723
707
|
* Will override the defined `default` strategy.
|
|
@@ -793,7 +777,7 @@ type ContentStrategy =
|
|
|
793
777
|
* The conflict strategy to use for Block states.
|
|
794
778
|
* Will override the defined `default` strategy.
|
|
795
779
|
*/
|
|
796
|
-
| ContentStrategyKind<'
|
|
780
|
+
| ContentStrategyKind<'block_definition', NonNullable<BlockStateDefinitionArguments<any>['onConflict']>>
|
|
797
781
|
/**
|
|
798
782
|
* The conflict strategy to use for Fonts.
|
|
799
783
|
* Will override the defined `default` strategy.
|
|
@@ -456,7 +456,7 @@ export class DataArrayClass<INITIAL extends DataArrayInitial> extends IterableDa
|
|
|
456
456
|
}
|
|
457
457
|
}
|
|
458
458
|
|
|
459
|
-
export function
|
|
459
|
+
export function DataIndexMapInternal<INITIAL extends DataIndexMapInitial>(
|
|
460
460
|
pack: SandstonePack,
|
|
461
461
|
initialize: INITIAL,
|
|
462
462
|
dataPoint?: DataPointClass<'storage'>,
|
|
@@ -486,11 +486,11 @@ export function DataIndexMap<INITIAL extends DataIndexMapInitial>(
|
|
|
486
486
|
}
|
|
487
487
|
}
|
|
488
488
|
|
|
489
|
-
export type
|
|
489
|
+
export type DataIndexMapType<INITIAL extends DataIndexMapInitial> = DataIndexMapClass<INITIAL> & {
|
|
490
490
|
[K in keyof INITIAL]: DataIndexMapInitial[`${any}${string}`]
|
|
491
491
|
} & { [K in string]: DataIndexMapInitial[`${any}${string}`] }
|
|
492
492
|
|
|
493
|
-
export function
|
|
493
|
+
export function DataArrayInternal<INITIAL extends DataArrayInitial>(
|
|
494
494
|
pack: SandstonePack,
|
|
495
495
|
initialize: INITIAL,
|
|
496
496
|
dataPoint?: DataPointClass<'storage'>,
|
|
@@ -520,6 +520,6 @@ export function DataArray<INITIAL extends DataArrayInitial>(
|
|
|
520
520
|
}
|
|
521
521
|
}
|
|
522
522
|
|
|
523
|
-
export type
|
|
523
|
+
export type DataArrayType<INITIAL extends DataArrayInitial> = DataArrayClass<INITIAL> & {
|
|
524
524
|
[K in keyof INITIAL]: DataArrayInitial[number]
|
|
525
525
|
} & { [K in number]: DataArrayInitial[number] }
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { RESOURCE_PATHS, type SymbolResource } from 'sandstone/arguments'
|
|
2
|
-
import { ContainerNode } from '../../nodes'
|
|
3
|
-
import type { SandstoneCore } from '../../sandstoneCore'
|
|
4
|
-
import type { ResourceClassArguments, ResourceNode } from '../resource'
|
|
5
|
-
import { ResourceClass, jsonStringify } from '../resource'
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* A node representing a Minecraft decorated pot pattern.
|
|
9
|
-
*/
|
|
10
|
-
export class DecoratedPotPatternNode extends ContainerNode implements ResourceNode<DecoratedPotPatternClass> {
|
|
11
|
-
constructor(
|
|
12
|
-
sandstoneCore: SandstoneCore,
|
|
13
|
-
public resource: DecoratedPotPatternClass,
|
|
14
|
-
) {
|
|
15
|
-
super(sandstoneCore)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
getValue = () => jsonStringify(this.resource.decoratedPotPatternJSON, this.resource._resourceType as keyof typeof RESOURCE_PATHS)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export type DecoratedPotPatternClassArguments = {
|
|
22
|
-
/**
|
|
23
|
-
* The decorated pot pattern's JSON.
|
|
24
|
-
*/
|
|
25
|
-
json: SymbolResource[(typeof DecoratedPotPatternClass)['resourceType']]
|
|
26
|
-
} & ResourceClassArguments<'default'>
|
|
27
|
-
|
|
28
|
-
export class DecoratedPotPatternClass extends ResourceClass<DecoratedPotPatternNode> {
|
|
29
|
-
static readonly resourceType = 'decorated_pot_pattern' as const
|
|
30
|
-
|
|
31
|
-
public decoratedPotPatternJSON: NonNullable<DecoratedPotPatternClassArguments['json']>
|
|
32
|
-
|
|
33
|
-
constructor(sandstoneCore: SandstoneCore, name: string, args: DecoratedPotPatternClassArguments) {
|
|
34
|
-
super(
|
|
35
|
-
sandstoneCore,
|
|
36
|
-
{ packType: sandstoneCore.pack.dataPack(), extension: 'json' },
|
|
37
|
-
DecoratedPotPatternNode,
|
|
38
|
-
DecoratedPotPatternClass.resourceType,
|
|
39
|
-
sandstoneCore.pack.resourceToPath(name, RESOURCE_PATHS[DecoratedPotPatternClass.resourceType].path),
|
|
40
|
-
args,
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
this.decoratedPotPatternJSON = args.json
|
|
44
|
-
|
|
45
|
-
this.handleConflicts()
|
|
46
|
-
}
|
|
47
|
-
}
|