@spyglassmc/java-edition 0.3.41 → 0.3.42

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.
@@ -42,6 +42,8 @@ export const getMockNodes = (rawTreeNode, prevNodes, ctx) => {
42
42
  json.JsonObjectNode.mock(range),
43
43
  json.JsonStringNode.mock(range),
44
44
  ];
45
+ case 'minecraft:dialog':
46
+ return ResourceLocationNode.mock(range, { category: 'dialog' });
45
47
  case 'minecraft:dimension':
46
48
  return ResourceLocationNode.mock(range, { category: 'dimension' });
47
49
  case 'minecraft:entity':
@@ -9,6 +9,7 @@ import * as parser from './parser/index.js';
9
9
  const validator = mcdoc.runtime.attribute.validator;
10
10
  const commandValidator = validator.alternatives(validator.tree({
11
11
  slash: validator.optional(validator.options('allowed', 'required', 'chat')),
12
+ macro: validator.optional(validator.options('implicit')),
12
13
  max_length: validator.optional(validator.number),
13
14
  empty: validator.optional(validator.options('allowed')),
14
15
  incomplete: validator.optional(validator.options('allowed')),
@@ -23,8 +24,11 @@ const scoreHolderValidator = validator.alternatives(validator.tree({
23
24
  export function registerMcdocAttributes(meta, rootTreeNode) {
24
25
  mcdoc.runtime.registerAttribute(meta, 'command', commandValidator, {
25
26
  // TODO: fix completer inside commands
26
- stringParser: ({ slash, max_length, empty, incomplete }) => {
27
+ stringParser: ({ slash, macro, max_length, empty, incomplete }) => {
27
28
  return (src, ctx) => {
29
+ if (macro) {
30
+ return mcf.macro(false)(src, ctx);
31
+ }
28
32
  if ((empty && !src.canRead()) || (slash === 'chat' && src.peek() !== '/')) {
29
33
  return core.string({
30
34
  unquotable: { blockList: new Set(), allowEmpty: true },
@@ -88,6 +88,8 @@ export const argument = (rawTreeNode, prevNodes) => {
88
88
  return wrap(vector({ dimension: 2, integersOnly: true }));
89
89
  case 'minecraft:component':
90
90
  return wrap(typeRefParser('::java::server::util::text::Text'));
91
+ case 'minecraft:dialog':
92
+ return wrap(resourceOrInline('dialog'));
91
93
  case 'minecraft:dimension':
92
94
  return wrap(core.resourceLocation({ category: 'dimension' }));
93
95
  case 'minecraft:entity':
@@ -58,6 +58,9 @@ export interface MinecraftColumnPosArgumentTreeNode extends mcf.ArgumentTreeNode
58
58
  export interface MinecraftComponentArgumentTreeNode extends mcf.ArgumentTreeNode {
59
59
  parser: 'minecraft:component';
60
60
  }
61
+ export interface MinecraftDialogArgumentTreeNode extends mcf.ArgumentTreeNode {
62
+ parser: 'minecraft:dialog';
63
+ }
61
64
  export interface MinecraftDimensionArgumentTreeNode extends mcf.ArgumentTreeNode {
62
65
  parser: 'minecraft:dimension';
63
66
  }
@@ -277,5 +280,5 @@ export interface SpyglassmcCriterionArgumentTreeNode extends mcf.ArgumentTreeNod
277
280
  export interface SpyglassmcTagArgumentTreeNode extends mcf.ArgumentTreeNode {
278
281
  parser: 'spyglassmc:tag';
279
282
  }
280
- export type ArgumentTreeNode = BrigadierBoolArgumentTreeNode | BrigadierDoubleArgumentTreeNode | BrigadierFloatArgumentTreeNode | BrigadierIntegerArgumentTreeNode | BrigadierLongArgumentTreeNode | BrigadierStringArgumentTreeNode | MinecraftAngleArgumentTreeNode | MinecraftBlockPosArgumentTreeNode | MinecraftBlockPredicateArgumentTreeNode | MinecraftBlockStateArgumentTreeNode | MinecraftColorArgumentTreeNode | MinecraftColumnPosArgumentTreeNode | MinecraftComponentArgumentTreeNode | MinecraftDimensionArgumentTreeNode | MinecraftEntityArgumentTreeNode | MinecraftEntityAnchorArgumentTreeNode | MinecraftEntitySummonArgumentTreeNode | MinecraftFloatRangeArgumentTreeNode | MinecraftFunctionArgumentTreeNode | MinecraftGamemodeArgumentTreeNode | MinecraftGameProfileArgumentTreeNode | MinecraftHeightmapArgumentTreeNode | MinecraftIntRangeArgumentTreeNode | MinecraftItemEnchantmentArgumentTreeNode | MinecraftItemPredicateArgumentTreeNode | MinecraftItemSlotArgumentTreeNode | MinecraftItemSlotsArgumentTreeNode | MinecraftItemStackArgumentTreeNode | MinecraftLootModifierArgumentTreeNode | MinecraftLootPredicateArgumentTreeNode | MinecraftLootTableArgumentTreeNode | MinecraftMessageArgumentTreeNode | MinecraftMobEffectArgumentTreeNode | MinecraftNbtCompoundTagArgumentTreeNode | MinecraftNbtPathArgumentTreeNode | MinecraftNbtTagArgumentTreeNode | MinecraftObjectiveArgumentTreeNode | MinecraftObjectiveCriteriaArgumentTreeNode | MinecraftOperationArgumentTreeNode | MinecraftParticleArgumentTreeNode | MinecraftResourceArgumentTreeNode | MinecraftResourceKeyArgumentTreeNode | MinecraftResourceLocationArgumentTreeNode | MinecraftResourceOrTagArgumentTreeNode | MinecraftResourceOrTagKeyArgumentTreeNode | MinecraftResourceSelectorTreeNode | MinecraftRotationArgumentTreeNode | MinecraftScoreHolderArgumentTreeNode | MinecraftScoreboardSlotArgumentTreeNode | MinecraftStyleArgumentTreeNode | MinecraftSwizzleArgumentTreeNode | MinecraftTeamArgumentTreeNode | MinecraftTemplateMirrorArgumentTreeNode | MinecraftTemplateRotationArgumentTreeNode | MinecraftTimeArgumentTreeNode | MinecraftUuidArgumentTreeNode | MinecraftVec2ArgumentTreeNode | MinecraftVec3ArgumentTreeNode | SpyglassmcCriterionArgumentTreeNode | SpyglassmcTagArgumentTreeNode;
283
+ export type ArgumentTreeNode = BrigadierBoolArgumentTreeNode | BrigadierDoubleArgumentTreeNode | BrigadierFloatArgumentTreeNode | BrigadierIntegerArgumentTreeNode | BrigadierLongArgumentTreeNode | BrigadierStringArgumentTreeNode | MinecraftAngleArgumentTreeNode | MinecraftBlockPosArgumentTreeNode | MinecraftBlockPredicateArgumentTreeNode | MinecraftBlockStateArgumentTreeNode | MinecraftColorArgumentTreeNode | MinecraftColumnPosArgumentTreeNode | MinecraftComponentArgumentTreeNode | MinecraftDialogArgumentTreeNode | MinecraftDimensionArgumentTreeNode | MinecraftEntityArgumentTreeNode | MinecraftEntityAnchorArgumentTreeNode | MinecraftEntitySummonArgumentTreeNode | MinecraftFloatRangeArgumentTreeNode | MinecraftFunctionArgumentTreeNode | MinecraftGamemodeArgumentTreeNode | MinecraftGameProfileArgumentTreeNode | MinecraftHeightmapArgumentTreeNode | MinecraftIntRangeArgumentTreeNode | MinecraftItemEnchantmentArgumentTreeNode | MinecraftItemPredicateArgumentTreeNode | MinecraftItemSlotArgumentTreeNode | MinecraftItemSlotsArgumentTreeNode | MinecraftItemStackArgumentTreeNode | MinecraftLootModifierArgumentTreeNode | MinecraftLootPredicateArgumentTreeNode | MinecraftLootTableArgumentTreeNode | MinecraftMessageArgumentTreeNode | MinecraftMobEffectArgumentTreeNode | MinecraftNbtCompoundTagArgumentTreeNode | MinecraftNbtPathArgumentTreeNode | MinecraftNbtTagArgumentTreeNode | MinecraftObjectiveArgumentTreeNode | MinecraftObjectiveCriteriaArgumentTreeNode | MinecraftOperationArgumentTreeNode | MinecraftParticleArgumentTreeNode | MinecraftResourceArgumentTreeNode | MinecraftResourceKeyArgumentTreeNode | MinecraftResourceLocationArgumentTreeNode | MinecraftResourceOrTagArgumentTreeNode | MinecraftResourceOrTagKeyArgumentTreeNode | MinecraftResourceSelectorTreeNode | MinecraftRotationArgumentTreeNode | MinecraftScoreHolderArgumentTreeNode | MinecraftScoreboardSlotArgumentTreeNode | MinecraftStyleArgumentTreeNode | MinecraftSwizzleArgumentTreeNode | MinecraftTeamArgumentTreeNode | MinecraftTemplateMirrorArgumentTreeNode | MinecraftTemplateRotationArgumentTreeNode | MinecraftTimeArgumentTreeNode | MinecraftUuidArgumentTreeNode | MinecraftVec2ArgumentTreeNode | MinecraftVec3ArgumentTreeNode | SpyglassmcCriterionArgumentTreeNode | SpyglassmcTagArgumentTreeNode;
281
284
  //# sourceMappingURL=argument.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spyglassmc/java-edition",
3
- "version": "0.3.41",
3
+ "version": "0.3.42",
4
4
  "type": "module",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  "@spyglassmc/core": "0.4.31",
21
21
  "@spyglassmc/json": "0.3.35",
22
22
  "@spyglassmc/locales": "0.3.16",
23
- "@spyglassmc/mcfunction": "0.2.33",
23
+ "@spyglassmc/mcfunction": "0.2.34",
24
24
  "@spyglassmc/mcdoc": "0.3.35",
25
25
  "@spyglassmc/nbt": "0.3.36"
26
26
  },