@lzimul/minecraft-mcp 1.0.3 → 1.0.5

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.
Files changed (115) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +126 -67
  3. package/SECURITY.md +38 -21
  4. package/build/config/server-info.js +5 -4
  5. package/build/config/storage.js +2 -1
  6. package/build/config/world-limits.js +6 -1
  7. package/build/data/entities.js +1581 -0
  8. package/build/enums/entity-kind.enum.js +5 -0
  9. package/build/enums/inventory-section.enum.js +5 -0
  10. package/build/enums/move-direction.enum.js +9 -0
  11. package/build/index.js +4 -3
  12. package/build/interfaces/entity-inventory.interface.js +1 -0
  13. package/build/interfaces/entity-type.interface.js +1 -0
  14. package/build/interfaces/entity.interface.js +1 -0
  15. package/build/resources/dimension-resources.js +24 -7
  16. package/build/resources/entity-resources.js +17 -0
  17. package/build/resources/index.js +2 -0
  18. package/build/schemas/coordinate-schema.js +5 -0
  19. package/build/schemas/dimension-schema.js +1 -0
  20. package/build/schemas/entity-schema.js +95 -0
  21. package/build/tools/block-tools.js +14 -23
  22. package/build/tools/entity-tools.js +638 -0
  23. package/build/tools/index.js +4 -0
  24. package/build/tools/result.js +3 -5
  25. package/build/tools/world-tools.js +526 -0
  26. package/build/utils/logger.js +53 -0
  27. package/build/world/block-spec.js +8 -6
  28. package/build/world/block-states.js +23 -4
  29. package/build/world/entity-inventory.js +101 -0
  30. package/build/world/item-spec.js +25 -0
  31. package/build/world/simulated-dimension.js +314 -14
  32. package/build/world/stores/file-world-store.js +84 -29
  33. package/build/world/stores/memory-world-store.js +18 -5
  34. package/build/world/stores/serialized-block.js +9 -14
  35. package/build/world/stores/serialized-entity.js +75 -0
  36. package/build/world/stores/serialized-snapshot.js +35 -0
  37. package/build/world/world.js +33 -1
  38. package/lib/app/server.d.ts.map +1 -1
  39. package/lib/config/dimensions.d.ts.map +1 -1
  40. package/lib/config/server-info.d.ts.map +1 -1
  41. package/lib/config/storage.d.ts.map +1 -1
  42. package/lib/config/world-limits.d.ts +5 -0
  43. package/lib/config/world-limits.d.ts.map +1 -1
  44. package/lib/data/entities.d.ts +5 -0
  45. package/lib/data/entities.d.ts.map +1 -0
  46. package/lib/enums/bounding-box.enum.d.ts.map +1 -1
  47. package/lib/enums/dimension-type.enum.d.ts.map +1 -1
  48. package/lib/enums/entity-kind.enum.d.ts +5 -0
  49. package/lib/enums/entity-kind.enum.d.ts.map +1 -0
  50. package/lib/enums/icon-theme.enum.d.ts.map +1 -1
  51. package/lib/enums/inventory-section.enum.d.ts +5 -0
  52. package/lib/enums/inventory-section.enum.d.ts.map +1 -0
  53. package/lib/enums/move-direction.enum.d.ts +9 -0
  54. package/lib/enums/move-direction.enum.d.ts.map +1 -0
  55. package/lib/interfaces/block.interface.d.ts.map +1 -1
  56. package/lib/interfaces/data-entry.interface.d.ts.map +1 -1
  57. package/lib/interfaces/dimension.interface.d.ts.map +1 -1
  58. package/lib/interfaces/entity-inventory.interface.d.ts +9 -0
  59. package/lib/interfaces/entity-inventory.interface.d.ts.map +1 -0
  60. package/lib/interfaces/entity-type.interface.d.ts +8 -0
  61. package/lib/interfaces/entity-type.interface.d.ts.map +1 -0
  62. package/lib/interfaces/entity.interface.d.ts +17 -0
  63. package/lib/interfaces/entity.interface.d.ts.map +1 -0
  64. package/lib/interfaces/item.interface.d.ts.map +1 -1
  65. package/lib/interfaces/placed-block.interface.d.ts.map +1 -1
  66. package/lib/interfaces/world-store.interface.d.ts +8 -2
  67. package/lib/interfaces/world-store.interface.d.ts.map +1 -1
  68. package/lib/resources/block-resources.d.ts.map +1 -1
  69. package/lib/resources/data-resources.d.ts.map +1 -1
  70. package/lib/resources/dimension-resources.d.ts.map +1 -1
  71. package/lib/resources/entity-resources.d.ts +3 -0
  72. package/lib/resources/entity-resources.d.ts.map +1 -0
  73. package/lib/resources/index.d.ts.map +1 -1
  74. package/lib/resources/item-resources.d.ts.map +1 -1
  75. package/lib/schemas/block-schema.d.ts.map +1 -1
  76. package/lib/schemas/coordinate-schema.d.ts +5 -0
  77. package/lib/schemas/coordinate-schema.d.ts.map +1 -1
  78. package/lib/schemas/dimension-schema.d.ts +1 -0
  79. package/lib/schemas/dimension-schema.d.ts.map +1 -1
  80. package/lib/schemas/entity-schema.d.ts +134 -0
  81. package/lib/schemas/entity-schema.d.ts.map +1 -0
  82. package/lib/schemas/item-schema.d.ts.map +1 -1
  83. package/lib/tools/block-tools.d.ts.map +1 -1
  84. package/lib/tools/entity-tools.d.ts +4 -0
  85. package/lib/tools/entity-tools.d.ts.map +1 -0
  86. package/lib/tools/index.d.ts.map +1 -1
  87. package/lib/tools/item-tools.d.ts.map +1 -1
  88. package/lib/tools/result.d.ts +2 -6
  89. package/lib/tools/result.d.ts.map +1 -1
  90. package/lib/tools/world-tools.d.ts +4 -0
  91. package/lib/tools/world-tools.d.ts.map +1 -0
  92. package/lib/utils/logger.d.ts +3 -0
  93. package/lib/utils/logger.d.ts.map +1 -0
  94. package/lib/world/block-spec.d.ts.map +1 -1
  95. package/lib/world/block-states.d.ts +2 -0
  96. package/lib/world/block-states.d.ts.map +1 -1
  97. package/lib/world/entity-inventory.d.ts +16 -0
  98. package/lib/world/entity-inventory.d.ts.map +1 -0
  99. package/lib/world/item-spec.d.ts +10 -0
  100. package/lib/world/item-spec.d.ts.map +1 -0
  101. package/lib/world/simulated-dimension.d.ts +54 -0
  102. package/lib/world/simulated-dimension.d.ts.map +1 -1
  103. package/lib/world/stores/file-world-store.d.ts +4 -4
  104. package/lib/world/stores/file-world-store.d.ts.map +1 -1
  105. package/lib/world/stores/index.d.ts.map +1 -1
  106. package/lib/world/stores/memory-world-store.d.ts +4 -4
  107. package/lib/world/stores/memory-world-store.d.ts.map +1 -1
  108. package/lib/world/stores/serialized-block.d.ts.map +1 -1
  109. package/lib/world/stores/serialized-entity.d.ts +24 -0
  110. package/lib/world/stores/serialized-entity.d.ts.map +1 -0
  111. package/lib/world/stores/serialized-snapshot.d.ts +6 -0
  112. package/lib/world/stores/serialized-snapshot.d.ts.map +1 -0
  113. package/lib/world/world.d.ts +3 -0
  114. package/lib/world/world.d.ts.map +1 -1
  115. package/package.json +16 -12
@@ -1,14 +1,27 @@
1
1
  import { WORLD_LIMITS } from '../../config/world-limits.js';
2
+ import { serializeSnapshot } from './serialized-snapshot.js';
2
3
  export class MemoryWorldStore {
3
4
  worlds = new Map();
4
5
  async load(type) {
5
6
  const stored = this.worlds.get(type);
6
- return stored ? [...stored] : [];
7
+ return stored
8
+ ? { blocks: [...stored.blocks], entities: [...stored.entities] }
9
+ : { blocks: [], entities: [] };
7
10
  }
8
- async save(type, blocks) {
9
- if (blocks.length > WORLD_LIMITS.maxModifiedBlocks) {
10
- throw new RangeError(`World snapshot has ${blocks.length} blocks, above the limit of ${WORLD_LIMITS.maxModifiedBlocks}`);
11
+ async save(type, snapshot) {
12
+ if (snapshot.blocks.length > WORLD_LIMITS.maxModifiedBlocks) {
13
+ throw new RangeError(`World snapshot has ${snapshot.blocks.length} blocks, above the limit of ${WORLD_LIMITS.maxModifiedBlocks}`);
11
14
  }
12
- this.worlds.set(type, [...blocks]);
15
+ if (snapshot.entities.length > WORLD_LIMITS.maxEntitiesPerDimension) {
16
+ throw new RangeError(`World snapshot has ${snapshot.entities.length} entities, above the limit of ${WORLD_LIMITS.maxEntitiesPerDimension}`);
17
+ }
18
+ this.worlds.set(type, {
19
+ blocks: [...snapshot.blocks],
20
+ entities: [...snapshot.entities]
21
+ });
22
+ }
23
+ async readRaw(type) {
24
+ const stored = this.worlds.get(type);
25
+ return serializeSnapshot(type, stored ?? { blocks: [], entities: [] });
13
26
  }
14
27
  }
@@ -1,21 +1,16 @@
1
1
  import { getBlockByName } from '../../data/blocks.js';
2
- import { normalizeStates } from '../block-states.js';
2
+ import { isEmptyStates, normalizeStates } from '../block-states.js';
3
3
  export function toSerialized(placed) {
4
- const states = normalizeStates(placed.states);
5
- if (Object.keys(states).length === 0) {
6
- return {
7
- x: placed.x,
8
- y: placed.y,
9
- z: placed.z,
10
- block: placed.block.key
11
- };
4
+ const { x, y, z, block, states } = placed;
5
+ if (isEmptyStates(states)) {
6
+ return { x, y, z, block: block.key };
12
7
  }
13
8
  return {
14
- x: placed.x,
15
- y: placed.y,
16
- z: placed.z,
17
- block: placed.block.key,
18
- states
9
+ x,
10
+ y,
11
+ z,
12
+ block: block.key,
13
+ states: normalizeStates(states)
19
14
  };
20
15
  }
21
16
  function readStates(value) {
@@ -0,0 +1,75 @@
1
+ import { WORLD_LIMITS } from '../../config/world-limits.js';
2
+ import { getEntityTypeByName } from '../../data/entities.js';
3
+ import { EEntityKind } from '../../enums/entity-kind.enum.js';
4
+ import { createEmptyInventory, normalizeInventory } from '../entity-inventory.js';
5
+ function serializeStack(stack) {
6
+ return stack ? { item: stack.item, count: stack.count } : null;
7
+ }
8
+ function serializeInventory(inventory) {
9
+ return {
10
+ hotbar: inventory.hotbar.map(serializeStack),
11
+ inventory: inventory.inventory.map(serializeStack)
12
+ };
13
+ }
14
+ function hasItems(inventory) {
15
+ return (inventory.hotbar.some(stack => stack !== null) ||
16
+ inventory.inventory.some(stack => stack !== null));
17
+ }
18
+ export function toSerializedEntity(entity) {
19
+ const payload = {
20
+ id: entity.id,
21
+ kind: entity.kind,
22
+ type: entity.type.key,
23
+ name: entity.name,
24
+ x: entity.x,
25
+ y: entity.y,
26
+ z: entity.z,
27
+ createdAt: entity.createdAt
28
+ };
29
+ if (hasItems(entity.inventory)) {
30
+ return { ...payload, inventory: serializeInventory(entity.inventory) };
31
+ }
32
+ return payload;
33
+ }
34
+ function isCoordinate(value) {
35
+ return typeof value === 'number' && Number.isInteger(value);
36
+ }
37
+ export function fromSerializedEntity(entry, dimension) {
38
+ if (typeof entry !== 'object' || entry === null || Array.isArray(entry)) {
39
+ return null;
40
+ }
41
+ const record = entry;
42
+ const { id, type, name, x, y, z, createdAt, inventory } = record;
43
+ if (typeof id !== 'string' ||
44
+ id.trim().length === 0 ||
45
+ id.length > WORLD_LIMITS.maxEntityIdLength ||
46
+ typeof type !== 'string' ||
47
+ typeof name !== 'string' ||
48
+ name.trim().length === 0 ||
49
+ name.length > WORLD_LIMITS.maxEntityNameLength ||
50
+ !isCoordinate(x) ||
51
+ !isCoordinate(y) ||
52
+ !isCoordinate(z)) {
53
+ return null;
54
+ }
55
+ const resolved = getEntityTypeByName(type.trim().toLowerCase());
56
+ if (!resolved) {
57
+ return null;
58
+ }
59
+ return {
60
+ id: id.trim(),
61
+ kind: resolved.name === 'player' ? EEntityKind.Player : EEntityKind.Entity,
62
+ type: resolved,
63
+ name: name.trim(),
64
+ x,
65
+ y,
66
+ z,
67
+ dimension,
68
+ inventory: typeof inventory === 'undefined'
69
+ ? createEmptyInventory()
70
+ : normalizeInventory(inventory),
71
+ createdAt: typeof createdAt === 'string' && createdAt.length > 0
72
+ ? createdAt
73
+ : new Date().toISOString()
74
+ };
75
+ }
@@ -0,0 +1,35 @@
1
+ import { toSerialized } from './serialized-block.js';
2
+ import { toSerializedEntity } from './serialized-entity.js';
3
+ export const SNAPSHOT_FORMAT = 'lzimul:minecraft/dimension';
4
+ export const MAX_SNAPSHOT_BYTES = 128 * 1024 * 1024;
5
+ function compareIds(a, b) {
6
+ if (a.id === b.id) {
7
+ return 0;
8
+ }
9
+ return a.id < b.id ? -1 : 1;
10
+ }
11
+ function compareBlocks(a, b) {
12
+ return a.x - b.x || a.y - b.y || a.z - b.z;
13
+ }
14
+ function sortedCopy(values, compare) {
15
+ for (let index = 1; index < values.length; index += 1) {
16
+ if (compare(values[index - 1], values[index]) > 0) {
17
+ return values.toSorted(compare);
18
+ }
19
+ }
20
+ return values;
21
+ }
22
+ export function serializeSnapshot(type, snapshot, updatedAt = new Date().toISOString()) {
23
+ const sortedBlocks = sortedCopy(snapshot.blocks, compareBlocks);
24
+ const sortedEntities = sortedCopy(snapshot.entities, compareIds);
25
+ const payload = {
26
+ format: SNAPSHOT_FORMAT,
27
+ dimension: `minecraft:${type}`,
28
+ updatedAt,
29
+ modifiedBlockCount: sortedBlocks.length,
30
+ entityCount: sortedEntities.length,
31
+ blocks: sortedBlocks.map(toSerialized),
32
+ entities: sortedEntities.map(toSerializedEntity)
33
+ };
34
+ return `${JSON.stringify(payload)}\n`;
35
+ }
@@ -1,5 +1,6 @@
1
1
  import { DIMENSIONS } from '../config/dimensions.js';
2
2
  import { toErrorMessage } from '../utils/error-message.js';
3
+ import { logger } from '../utils/logger.js';
3
4
  import { SimulatedDimension } from './simulated-dimension.js';
4
5
  export class World {
5
6
  dimensions;
@@ -17,7 +18,16 @@ export class World {
17
18
  }
18
19
  return [dimension.type, simulated];
19
20
  }));
20
- return new World(new Map(entries));
21
+ const dimensions = new Map(entries);
22
+ const claimedPlayerNames = new Set();
23
+ let duplicatePlayers = 0;
24
+ for (const dimension of dimensions.values()) {
25
+ duplicatePlayers += dimension.removeDuplicatePlayers(claimedPlayerNames);
26
+ }
27
+ if (duplicatePlayers > 0) {
28
+ logger.warn(`Removed ${duplicatePlayers} duplicate player name(s) while loading the world`);
29
+ }
30
+ return new World(dimensions);
21
31
  }
22
32
  static listDimensions() {
23
33
  return DIMENSIONS;
@@ -29,6 +39,28 @@ export class World {
29
39
  }
30
40
  return dimension;
31
41
  }
42
+ findEntity(id) {
43
+ for (const dimension of this.dimensions.values()) {
44
+ const entity = dimension.getEntity(id);
45
+ if (entity) {
46
+ return entity;
47
+ }
48
+ }
49
+ return;
50
+ }
51
+ findPlayer(name) {
52
+ const normalized = name.trim().toLowerCase();
53
+ if (normalized.length === 0) {
54
+ return;
55
+ }
56
+ for (const dimension of this.dimensions.values()) {
57
+ const player = dimension.findPlayer(normalized);
58
+ if (player) {
59
+ return player;
60
+ }
61
+ }
62
+ return;
63
+ }
32
64
  async flush() {
33
65
  const results = await Promise.allSettled([...this.dimensions.values()].map(dimension => dimension.flush()));
34
66
  const failures = results.filter((result) => result.status === 'rejected');
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/app/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAMzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAKpD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/app/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAMzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG/C,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAKpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"dimensions.d.ts","sourceRoot":"","sources":["../../src/config/dimensions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAEvE,eAAO,MAAM,UAAU,EAAE,SAAS,UAAU,EAyB3C,CAAC"}
1
+ {"version":3,"file":"dimensions.d.ts","sourceRoot":"","sources":["../../src/config/dimensions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAGvE,eAAO,MAAM,UAAU,EAAE,SAAS,UAAU,EAyB3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-info.d.ts","sourceRoot":"","sources":["../../src/config/server-info.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,eAAO,MAAM,WAAW;;;;;;;;;;;;CAoBvB,CAAC"}
1
+ {"version":3,"file":"server-info.d.ts","sourceRoot":"","sources":["../../src/config/server-info.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD,eAAO,MAAM,WAAW;;;;;;;;;;;;CAoBvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/config/storage.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAeD,eAAO,MAAM,aAAa,EAAE,mBAI3B,CAAC"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/config/storage.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAGlD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAoBD,eAAO,MAAM,aAAa,EAAE,mBAI3B,CAAC"}
@@ -4,5 +4,10 @@ export declare const WORLD_LIMITS: {
4
4
  readonly minVertical: -64;
5
5
  readonly maxVertical: 320;
6
6
  readonly maxModifiedBlocks: 250000;
7
+ readonly maxFillVolume: 16384;
8
+ readonly maxEntitiesPerDimension: 10000;
9
+ readonly maxEntityIdLength: 128;
10
+ readonly maxEntityNameLength: 64;
11
+ readonly maxPlayerNameLength: 32;
7
12
  };
8
13
  //# sourceMappingURL=world-limits.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"world-limits.d.ts","sourceRoot":"","sources":["../../src/config/world-limits.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;CAOf,CAAC"}
1
+ {"version":3,"file":"world-limits.d.ts","sourceRoot":"","sources":["../../src/config/world-limits.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY;;;;;;;;;;;CAaf,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { IEntityType } from '../interfaces/entity-type.interface.js';
2
+ export declare const MINECRAFT_ENTITY_TYPES: readonly IEntityType[];
3
+ export declare const MINECRAFT_ENTITY_COUNT: number;
4
+ export declare function getEntityTypeByName(name: string): IEntityType | undefined;
5
+ //# sourceMappingURL=entities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/data/entities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAE1E,eAAO,MAAM,sBAAsB,EAAE,SAAS,WAAW,EAmiDxD,CAAC;AACF,eAAO,MAAM,sBAAsB,QAAgC,CAAC;AAMpE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"bounding-box.enum.d.ts","sourceRoot":"","sources":["../../src/enums/bounding-box.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,KAAK,UAAU;CAChB"}
1
+ {"version":3,"file":"bounding-box.enum.d.ts","sourceRoot":"","sources":["../../src/enums/bounding-box.enum.ts"],"names":[],"mappings":"AACA,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,KAAK,UAAU;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"dimension-type.enum.d.ts","sourceRoot":"","sources":["../../src/enums/dimension-type.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,SAAS,cAAc;IACvB,SAAS,eAAe;IACxB,MAAM,YAAY;CACnB"}
1
+ {"version":3,"file":"dimension-type.enum.d.ts","sourceRoot":"","sources":["../../src/enums/dimension-type.enum.ts"],"names":[],"mappings":"AACA,oBAAY,cAAc;IACxB,SAAS,cAAc;IACvB,SAAS,eAAe;IACxB,MAAM,YAAY;CACnB"}
@@ -0,0 +1,5 @@
1
+ export declare enum EEntityKind {
2
+ Entity = "entity",
3
+ Player = "player"
4
+ }
5
+ //# sourceMappingURL=entity-kind.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-kind.enum.d.ts","sourceRoot":"","sources":["../../src/enums/entity-kind.enum.ts"],"names":[],"mappings":"AACA,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"icon-theme.enum.d.ts","sourceRoot":"","sources":["../../src/enums/icon-theme.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACpB,KAAK,UAAU;IACf,IAAI,SAAS;CACd"}
1
+ {"version":3,"file":"icon-theme.enum.d.ts","sourceRoot":"","sources":["../../src/enums/icon-theme.enum.ts"],"names":[],"mappings":"AACA,oBAAY,UAAU;IACpB,KAAK,UAAU;IACf,IAAI,SAAS;CACd"}
@@ -0,0 +1,5 @@
1
+ export declare enum EInventorySection {
2
+ Hotbar = "hotbar",
3
+ Inventory = "inventory"
4
+ }
5
+ //# sourceMappingURL=inventory-section.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory-section.enum.d.ts","sourceRoot":"","sources":["../../src/enums/inventory-section.enum.ts"],"names":[],"mappings":"AACA,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB"}
@@ -0,0 +1,9 @@
1
+ export declare enum EMoveDirection {
2
+ Forward = "forward",
3
+ Back = "back",
4
+ Left = "left",
5
+ Right = "right",
6
+ Up = "up",
7
+ Down = "down"
8
+ }
9
+ //# sourceMappingURL=move-direction.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-direction.enum.d.ts","sourceRoot":"","sources":["../../src/enums/move-direction.enum.ts"],"names":[],"mappings":"AACA,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,EAAE,OAAO;IACT,IAAI,SAAS;CACd"}
@@ -1 +1 @@
1
- {"version":3,"file":"block.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/block.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,MAAM,WAAW,MAAO,SAAQ,UAAU;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;CACpC"}
1
+ {"version":3,"file":"block.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/block.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,MAAM,WAAW,MAAO,SAAQ,UAAU;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;CACpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-entry.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/data-entry.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B"}
1
+ {"version":3,"file":"data-entry.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/data-entry.interface.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"dimension.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/dimension.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B"}
1
+ {"version":3,"file":"dimension.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/dimension.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B"}
@@ -0,0 +1,9 @@
1
+ export interface IItemStack {
2
+ readonly item: string;
3
+ readonly count: number;
4
+ }
5
+ export interface IEntityInventory {
6
+ readonly hotbar: readonly (IItemStack | null)[];
7
+ readonly inventory: readonly (IItemStack | null)[];
8
+ }
9
+ //# sourceMappingURL=entity-inventory.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-inventory.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/entity-inventory.interface.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;CACpD"}
@@ -0,0 +1,8 @@
1
+ import type { IDataEntry } from './data-entry.interface.js';
2
+ export interface IEntityType extends IDataEntry {
3
+ readonly type: string;
4
+ readonly category: string;
5
+ readonly width: number;
6
+ readonly height: number;
7
+ }
8
+ //# sourceMappingURL=entity-type.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-type.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/entity-type.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,17 @@
1
+ import type { EEntityKind } from '../enums/entity-kind.enum.js';
2
+ import type { EDimensionType } from '../enums/dimension-type.enum.js';
3
+ import type { IEntityInventory } from './entity-inventory.interface.js';
4
+ import type { IEntityType } from './entity-type.interface.js';
5
+ export interface IEntity {
6
+ readonly id: string;
7
+ readonly kind: EEntityKind;
8
+ readonly type: IEntityType;
9
+ readonly name: string;
10
+ readonly x: number;
11
+ readonly y: number;
12
+ readonly z: number;
13
+ readonly dimension: EDimensionType;
14
+ readonly inventory: IEntityInventory;
15
+ readonly createdAt: string;
16
+ }
17
+ //# sourceMappingURL=entity.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/entity.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAG9D,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"item.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/item.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,MAAM,WAAW,KAAM,SAAQ,UAAU;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC"}
1
+ {"version":3,"file":"item.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/item.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,MAAM,WAAW,KAAM,SAAQ,UAAU;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"placed-block.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/placed-block.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B"}
1
+ {"version":3,"file":"placed-block.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/placed-block.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B"}
@@ -1,7 +1,13 @@
1
1
  import type { EDimensionType } from '../enums/dimension-type.enum.js';
2
+ import type { IEntity } from './entity.interface.js';
2
3
  import type { IPlacedBlock } from './placed-block.interface.js';
4
+ export interface IWorldSnapshot {
5
+ readonly blocks: readonly IPlacedBlock[];
6
+ readonly entities: readonly IEntity[];
7
+ }
3
8
  export interface IWorldStore {
4
- load(type: EDimensionType): Promise<readonly IPlacedBlock[]>;
5
- save(type: EDimensionType, blocks: readonly IPlacedBlock[]): Promise<void>;
9
+ load(type: EDimensionType): Promise<IWorldSnapshot>;
10
+ save(type: EDimensionType, snapshot: IWorldSnapshot): Promise<void>;
11
+ readRaw(type: EDimensionType): Promise<string>;
6
12
  }
7
13
  //# sourceMappingURL=world-store.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"world-store.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/world-store.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5E"}
1
+ {"version":3,"file":"world-store.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/world-store.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;CACvC;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD"}
@@ -1 +1 @@
1
- {"version":3,"file":"block-resources.d.ts","sourceRoot":"","sources":["../../src/resources/block-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAS9D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAa9D"}
1
+ {"version":3,"file":"block-resources.d.ts","sourceRoot":"","sources":["../../src/resources/block-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAU9D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAa9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-resources.d.ts","sourceRoot":"","sources":["../../src/resources/data-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAI9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAYxE,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,UAAU,EAC5D,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE;IACN,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;CACvB,GACA,IAAI,CA6BN;AAED,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,UAAU,EAC7D,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE;IACN,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;CACvB,GACA,IAAI,CAwBN"}
1
+ {"version":3,"file":"data-resources.d.ts","sourceRoot":"","sources":["../../src/resources/data-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAI9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAkBxE,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,UAAU,EAC5D,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE;IACN,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;CACvB,GACA,IAAI,CA6BN;AAGD,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,UAAU,EAC7D,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE;IACN,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;CACvB,GACA,IAAI,CAwBN"}
@@ -1 +1 @@
1
- {"version":3,"file":"dimension-resources.d.ts","sourceRoot":"","sources":["../../src/resources/dimension-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAM9D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AA2B1C,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,KAAK,GACX,IAAI,CA+BN;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,KAAK,GACX,IAAI,CA2BN"}
1
+ {"version":3,"file":"dimension-resources.d.ts","sourceRoot":"","sources":["../../src/resources/dimension-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAI9D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAqD1C,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,KAAK,GACX,IAAI,CAgCN;AAGD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,KAAK,GACX,IAAI,CA2BN"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from '@modelcontextprotocol/server';
2
+ export declare function registerEntityResources(server: McpServer): void;
3
+ //# sourceMappingURL=entity-resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-resources.d.ts","sourceRoot":"","sources":["../../src/resources/entity-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAa9D,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAa/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAS9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAKvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAU9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG/C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAMvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"item-resources.d.ts","sourceRoot":"","sources":["../../src/resources/item-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAS9D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAa7D"}
1
+ {"version":3,"file":"item-resources.d.ts","sourceRoot":"","sources":["../../src/resources/item-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAU9D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAa7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"block-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/block-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE/D,eAAO,MAAM,eAAe;;;;;;;;;;;iBAW1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAapD"}
1
+ {"version":3,"file":"block-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/block-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAG/D,eAAO,MAAM,eAAe;;;;;;;;;;;iBAW1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAGxD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAapD"}
@@ -1,4 +1,9 @@
1
1
  import * as z from 'zod/v4';
2
2
  export declare const horizontalCoordinate: z.ZodNumber;
3
3
  export declare const verticalCoordinate: z.ZodNumber;
4
+ export declare const blockPositionShape: {
5
+ readonly x: z.ZodNumber;
6
+ readonly y: z.ZodNumber;
7
+ readonly z: z.ZodNumber;
8
+ };
4
9
  //# sourceMappingURL=coordinate-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coordinate-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/coordinate-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAI5B,eAAO,MAAM,oBAAoB,aAIC,CAAC;AAEnC,eAAO,MAAM,kBAAkB,aAIC,CAAC"}
1
+ {"version":3,"file":"coordinate-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/coordinate-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAK5B,eAAO,MAAM,oBAAoB,aAIC,CAAC;AAGnC,eAAO,MAAM,kBAAkB,aAIC,CAAC;AAGjC,eAAO,MAAM,kBAAkB;;;;CAMrB,CAAC"}
@@ -2,4 +2,5 @@ import * as z from 'zod/v4';
2
2
  import { EDimensionType } from '../enums/dimension-type.enum.js';
3
3
  export declare const dimensionSchema: z.ZodDefault<z.ZodEnum<typeof EDimensionType>>;
4
4
  export declare const dimensionTypeSchema: z.ZodEnum<typeof EDimensionType>;
5
+ export declare const dimensionField: z.ZodDefault<z.ZodEnum<typeof EDimensionType>>;
5
6
  //# sourceMappingURL=dimension-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dimension-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/dimension-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,eAAO,MAAM,eAAe,gDAEQ,CAAC;AAErC,eAAO,MAAM,mBAAmB,kCAAyB,CAAC"}
1
+ {"version":3,"file":"dimension-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/dimension-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE,eAAO,MAAM,eAAe,gDAEQ,CAAC;AAGrC,eAAO,MAAM,mBAAmB,kCAAyB,CAAC;AAG1D,eAAO,MAAM,cAAc,gDAE1B,CAAC"}