@starktma/minecraft-utils 1.3.111 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -0
- package/dist/constants.d.ts +26 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +34 -0
- package/dist/constants.js.map +1 -0
- package/dist/database/database.d.ts +8 -5
- package/dist/database/database.d.ts.map +1 -1
- package/dist/database/database.js +40 -38
- package/dist/database/database.js.map +1 -1
- package/dist/database/index.d.ts +1 -3
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +1 -2
- package/dist/database/index.js.map +1 -1
- package/dist/game-state-machine/branch.js +2 -2
- package/dist/game-state-machine/branch.js.map +1 -1
- package/dist/game-state-machine/database.d.ts +10 -3
- package/dist/game-state-machine/database.d.ts.map +1 -1
- package/dist/game-state-machine/database.js +20 -2
- package/dist/game-state-machine/database.js.map +1 -1
- package/dist/game-state-machine/index.d.ts +1 -2
- package/dist/game-state-machine/index.d.ts.map +1 -1
- package/dist/game-state-machine/index.js +1 -2
- package/dist/game-state-machine/index.js.map +1 -1
- package/dist/game-state-machine/stateMachine.d.ts +6 -9
- package/dist/game-state-machine/stateMachine.d.ts.map +1 -1
- package/dist/game-state-machine/stateMachine.js +72 -86
- package/dist/game-state-machine/stateMachine.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/math/BFSScanner.d.ts +117 -0
- package/dist/math/BFSScanner.d.ts.map +1 -0
- package/dist/math/BFSScanner.js +388 -0
- package/dist/math/BFSScanner.js.map +1 -0
- package/dist/math/Perlin2D.d.ts +12 -0
- package/dist/math/Perlin2D.d.ts.map +1 -0
- package/dist/math/Perlin2D.js +115 -0
- package/dist/math/Perlin2D.js.map +1 -0
- package/dist/math/index.d.ts +63 -59
- package/dist/math/index.d.ts.map +1 -1
- package/dist/math/index.js +150 -76
- package/dist/math/index.js.map +1 -1
- package/dist/minecraft/effectsAPI.d.ts +69 -0
- package/dist/minecraft/effectsAPI.d.ts.map +1 -0
- package/dist/minecraft/effectsAPI.js +441 -0
- package/dist/minecraft/effectsAPI.js.map +1 -0
- package/dist/minecraft/index.d.ts +7 -3
- package/dist/minecraft/index.d.ts.map +1 -1
- package/dist/minecraft/index.js +53 -29
- package/dist/minecraft/index.js.map +1 -1
- package/dist/minecraft/projectileAPI.d.ts +23 -0
- package/dist/minecraft/projectileAPI.d.ts.map +1 -0
- package/dist/minecraft/projectileAPI.js +148 -0
- package/dist/minecraft/projectileAPI.js.map +1 -0
- package/dist/minecraft/structuresAPI.d.ts +11 -0
- package/dist/minecraft/structuresAPI.d.ts.map +1 -0
- package/dist/minecraft/structuresAPI.js +66 -0
- package/dist/minecraft/structuresAPI.js.map +1 -0
- package/package.json +7 -3
- package/dist/database/constants.d.ts +0 -2
- package/dist/database/constants.d.ts.map +0 -1
- package/dist/database/constants.js +0 -2
- package/dist/database/constants.js.map +0 -1
- package/dist/game-state-machine/constants.d.ts +0 -2
- package/dist/game-state-machine/constants.d.ts.map +0 -1
- package/dist/game-state-machine/constants.js +0 -2
- package/dist/game-state-machine/constants.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/minecraft/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,EAEL,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/minecraft/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Entity, Player, Vector3, Dimension, StartupEvent } from "@minecraft/server";
|
|
2
|
+
declare class ProjectileManager {
|
|
3
|
+
private static instance;
|
|
4
|
+
private static shotProjectiles;
|
|
5
|
+
static getInstance(): ProjectileManager;
|
|
6
|
+
private constructor();
|
|
7
|
+
private calculateLaunchDirection;
|
|
8
|
+
private calculateSpawnPosition;
|
|
9
|
+
private scaleVelocity;
|
|
10
|
+
private consumeItem;
|
|
11
|
+
launchProjectile(player: Player, projectileId: string, options?: {
|
|
12
|
+
spawnEvent?: string;
|
|
13
|
+
offset?: Vector3;
|
|
14
|
+
power?: number;
|
|
15
|
+
angleOffset?: number;
|
|
16
|
+
}): Entity | undefined;
|
|
17
|
+
launchProjectileFromEntity(entity: Entity, projectileId: string, direction: Vector3, power?: number, offset?: Vector3, spawnEvent?: string): Entity | undefined;
|
|
18
|
+
launchProjectileFromLocation(dimension: Dimension, location: Vector3, projectileId: string, direction: Vector3, power?: number, spawnEvent?: string): Entity | undefined;
|
|
19
|
+
start(startup: StartupEvent): void;
|
|
20
|
+
}
|
|
21
|
+
declare const projectileManager: ProjectileManager;
|
|
22
|
+
export { ProjectileManager, projectileManager };
|
|
23
|
+
//# sourceMappingURL=projectileAPI.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectileAPI.d.ts","sourceRoot":"","sources":["../../src/minecraft/projectileAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,MAAM,EACN,OAAO,EACP,SAAS,EAIT,YAAY,EAGZ,MAAM,mBAAmB,CAAC;AAgB3B,cAAM,iBAAiB;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAC3C,OAAO,CAAC,MAAM,CAAC,eAAe,CAGhB;IAEd,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAOvC,OAAO;IAEP,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,WAAW;IAgBnB,gBAAgB,CACf,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KAChB,GACJ,MAAM,GAAG,SAAS;IAwBrB,0BAA0B,CACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,OAAO,EAClB,KAAK,GAAE,MAAU,EACjB,MAAM,GAAE,OAA8B,EACtC,UAAU,CAAC,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS;IAoBrB,4BAA4B,CAC3B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,OAAO,EACjB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,OAAO,EAClB,KAAK,GAAE,MAAU,EACjB,UAAU,CAAC,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS;IAyBrB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;CAqClC;AAED,QAAA,MAAM,iBAAiB,mBAAkC,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { GameMode, EntityEquippableComponent, EquipmentSlot, EntityProjectileComponent, system, } from "@minecraft/server";
|
|
2
|
+
import { Trigonometry, Vector } from "../math";
|
|
3
|
+
import { getNamespace } from "../constants";
|
|
4
|
+
// ============================= ProjectileManager =============================
|
|
5
|
+
class ProjectileManager {
|
|
6
|
+
static instance;
|
|
7
|
+
static shotProjectiles = new Map();
|
|
8
|
+
static getInstance() {
|
|
9
|
+
if (!ProjectileManager.instance) {
|
|
10
|
+
ProjectileManager.instance = new ProjectileManager();
|
|
11
|
+
}
|
|
12
|
+
return ProjectileManager.instance;
|
|
13
|
+
}
|
|
14
|
+
constructor() { }
|
|
15
|
+
calculateLaunchDirection(rotation, angleOffset = 0) {
|
|
16
|
+
const yaw = Trigonometry.radians(rotation.y);
|
|
17
|
+
const pitch = Trigonometry.radians(rotation.x);
|
|
18
|
+
const adjustedPitch = pitch + Trigonometry.radians(angleOffset);
|
|
19
|
+
return {
|
|
20
|
+
x: -Math.sin(yaw) * Math.cos(adjustedPitch),
|
|
21
|
+
y: -Math.sin(adjustedPitch),
|
|
22
|
+
z: Math.cos(yaw) * Math.cos(adjustedPitch),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
calculateSpawnPosition(playerLocation, rotation, offset = { x: 0, y: 0, z: 0 }) {
|
|
26
|
+
const yaw = Trigonometry.radians(rotation.y);
|
|
27
|
+
const pitch = Trigonometry.radians(rotation.x);
|
|
28
|
+
const pitchAdjustment = -Math.sin(pitch) * 0.5;
|
|
29
|
+
const rawOffset = {
|
|
30
|
+
x: offset.x,
|
|
31
|
+
y: offset.y + 1.7 + pitchAdjustment,
|
|
32
|
+
z: offset.z,
|
|
33
|
+
};
|
|
34
|
+
const rotatedOffset = {
|
|
35
|
+
x: rawOffset.x * Math.cos(yaw) - rawOffset.z * Math.sin(yaw),
|
|
36
|
+
y: rawOffset.y,
|
|
37
|
+
z: rawOffset.x * Math.sin(yaw) + rawOffset.z * Math.cos(yaw),
|
|
38
|
+
};
|
|
39
|
+
return Vector.add(playerLocation, rotatedOffset);
|
|
40
|
+
}
|
|
41
|
+
scaleVelocity(direction, power) {
|
|
42
|
+
return {
|
|
43
|
+
x: direction.x * power * 2,
|
|
44
|
+
y: direction.y * power,
|
|
45
|
+
z: direction.z * power * 2,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
consumeItem(player, itemStack) {
|
|
49
|
+
if (player.getGameMode() === GameMode.Creative)
|
|
50
|
+
return;
|
|
51
|
+
const equippable = player.getComponent(EntityEquippableComponent.componentId);
|
|
52
|
+
if (!equippable)
|
|
53
|
+
return;
|
|
54
|
+
if (itemStack.amount > 1) {
|
|
55
|
+
itemStack.amount--;
|
|
56
|
+
equippable.setEquipment(EquipmentSlot.Mainhand, itemStack);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
equippable.setEquipment(EquipmentSlot.Mainhand, undefined);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// ============================= Public API ================================
|
|
63
|
+
launchProjectile(player, projectileId, options = {}) {
|
|
64
|
+
const spawnLocation = this.calculateSpawnPosition(player.location, player.getRotation(), options.offset || { x: 0, y: 0, z: 0 });
|
|
65
|
+
if (!player.dimension.isChunkLoaded(spawnLocation))
|
|
66
|
+
return undefined;
|
|
67
|
+
const direction = this.calculateLaunchDirection(player.getRotation(), options.angleOffset || 0);
|
|
68
|
+
const velocity = this.scaleVelocity(direction, (options.power || 1) * 0.2);
|
|
69
|
+
const projectile = player.dimension.spawnEntity(projectileId, spawnLocation, {
|
|
70
|
+
spawnEvent: options.spawnEvent || "minecraft:entity_spawned",
|
|
71
|
+
});
|
|
72
|
+
if (projectile?.isValid) {
|
|
73
|
+
projectile.applyImpulse(velocity);
|
|
74
|
+
return projectile;
|
|
75
|
+
}
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
launchProjectileFromEntity(entity, projectileId, direction, power = 1, offset = { x: 0, y: 0, z: 0 }, spawnEvent) {
|
|
79
|
+
const spawnLocation = Vector.add(entity.location, offset);
|
|
80
|
+
if (!entity.dimension.isChunkLoaded(spawnLocation))
|
|
81
|
+
return undefined;
|
|
82
|
+
const velocity = this.scaleVelocity(direction, power * 0.2);
|
|
83
|
+
const projectile = entity.dimension.spawnEntity(projectileId, spawnLocation, {
|
|
84
|
+
spawnEvent: spawnEvent || "minecraft:entity_spawned",
|
|
85
|
+
});
|
|
86
|
+
if (projectile?.isValid) {
|
|
87
|
+
const projectileComponent = projectile.getComponent(EntityProjectileComponent.componentId);
|
|
88
|
+
projectileComponent?.shoot(velocity);
|
|
89
|
+
return projectile;
|
|
90
|
+
}
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
launchProjectileFromLocation(dimension, location, projectileId, direction, power = 1, spawnEvent) {
|
|
94
|
+
if (!dimension.isChunkLoaded(location))
|
|
95
|
+
return undefined;
|
|
96
|
+
const velocity = this.scaleVelocity(direction, power * 0.2);
|
|
97
|
+
const projectile = dimension.spawnEntity(projectileId, location, {
|
|
98
|
+
spawnEvent: spawnEvent || "minecraft:entity_spawned",
|
|
99
|
+
});
|
|
100
|
+
if (projectile?.isValid) {
|
|
101
|
+
const projectileComponent = projectile.getComponent(EntityProjectileComponent.componentId);
|
|
102
|
+
ProjectileManager.shotProjectiles.set(projectile.id, {
|
|
103
|
+
entity: projectile,
|
|
104
|
+
component: projectileComponent,
|
|
105
|
+
velocity,
|
|
106
|
+
});
|
|
107
|
+
projectile.applyImpulse(velocity);
|
|
108
|
+
return projectile;
|
|
109
|
+
}
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
// ============================= System ====================================
|
|
113
|
+
start(startup) {
|
|
114
|
+
startup.itemComponentRegistry.registerCustomComponent(`${getNamespace()}:custom_projectile`, {
|
|
115
|
+
onUse: (event, params) => {
|
|
116
|
+
const player = event.source;
|
|
117
|
+
const itemStack = event.itemStack;
|
|
118
|
+
const projectileParams = params.params;
|
|
119
|
+
const offset = projectileParams.offset
|
|
120
|
+
? { x: projectileParams.offset[0], y: projectileParams.offset[1], z: projectileParams.offset[2] }
|
|
121
|
+
: { x: 0, y: 0, z: 0 };
|
|
122
|
+
const projectile = this.launchProjectile(player, projectileParams.identifier, {
|
|
123
|
+
spawnEvent: projectileParams.spawn_event,
|
|
124
|
+
offset,
|
|
125
|
+
power: projectileParams.power,
|
|
126
|
+
angleOffset: projectileParams.angle_offset,
|
|
127
|
+
});
|
|
128
|
+
if (projectile && itemStack) {
|
|
129
|
+
this.consumeItem(player, itemStack);
|
|
130
|
+
}
|
|
131
|
+
return projectile;
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
system.runInterval(() => {
|
|
135
|
+
for (const [, { entity, component, velocity }] of ProjectileManager.shotProjectiles) {
|
|
136
|
+
if (!entity.isValid) {
|
|
137
|
+
ProjectileManager.shotProjectiles.delete(entity.id);
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
entity.applyImpulse(Vector.scalarDivide(velocity, 2));
|
|
141
|
+
velocity.y -= 0.01;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
const projectileManager = ProjectileManager.getInstance();
|
|
147
|
+
export { ProjectileManager, projectileManager };
|
|
148
|
+
//# sourceMappingURL=projectileAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectileAPI.js","sourceRoot":"","sources":["../../src/minecraft/projectileAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Vector3, StructureRotation } from "@minecraft/server";
|
|
2
|
+
declare class StructuresManager {
|
|
3
|
+
static getRotationEnum(angle: number, offset?: number): StructureRotation;
|
|
4
|
+
static rotateStructure(structureSize: Vector3, rotationDegrees: number, targetPosition: Vector3): {
|
|
5
|
+
location: Vector3;
|
|
6
|
+
rotation: StructureRotation;
|
|
7
|
+
endLocation: Vector3;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export { StructuresManager };
|
|
11
|
+
//# sourceMappingURL=structuresAPI.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structuresAPI.d.ts","sourceRoot":"","sources":["../../src/minecraft/structuresAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI/D,cAAM,iBAAiB;IACtB,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAUzE,MAAM,CAAC,eAAe,CACrB,aAAa,EAAE,OAAO,EACtB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,OAAO,GACrB;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,iBAAiB,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE;CAsD3E;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { StructureRotation } from "@minecraft/server";
|
|
2
|
+
import { snapYawToGrid } from ".";
|
|
3
|
+
import { Trigonometry } from "../math";
|
|
4
|
+
class StructuresManager {
|
|
5
|
+
static getRotationEnum(angle, offset) {
|
|
6
|
+
const diff = snapYawToGrid(Trigonometry.unsignedAngle(angle - (offset ?? 0)));
|
|
7
|
+
console.log(diff);
|
|
8
|
+
if (Math.abs(diff - 90) < Number.EPSILON)
|
|
9
|
+
return StructureRotation.Rotate90;
|
|
10
|
+
if (Math.abs(diff - 180) < Number.EPSILON)
|
|
11
|
+
return StructureRotation.Rotate180;
|
|
12
|
+
if (Math.abs(diff - 270) < Number.EPSILON)
|
|
13
|
+
return StructureRotation.Rotate270;
|
|
14
|
+
return StructureRotation.None;
|
|
15
|
+
}
|
|
16
|
+
static rotateStructure(structureSize, rotationDegrees, targetPosition) {
|
|
17
|
+
const rotation = this.getRotationEnum(rotationDegrees);
|
|
18
|
+
const normalizedRot = ((Math.round(rotationDegrees) % 360) + 360) % 360;
|
|
19
|
+
let rotatedCenterOffset = { x: 0, y: 0, z: 0 };
|
|
20
|
+
const cx = Math.floor(structureSize.x / 2);
|
|
21
|
+
const cz = Math.floor(structureSize.z / 2);
|
|
22
|
+
switch (normalizedRot) {
|
|
23
|
+
case 0:
|
|
24
|
+
rotatedCenterOffset = {
|
|
25
|
+
x: cx,
|
|
26
|
+
y: 0,
|
|
27
|
+
z: cz,
|
|
28
|
+
};
|
|
29
|
+
break;
|
|
30
|
+
case 90:
|
|
31
|
+
rotatedCenterOffset = {
|
|
32
|
+
x: cz,
|
|
33
|
+
y: 0,
|
|
34
|
+
z: structureSize.x - 1 - cx,
|
|
35
|
+
};
|
|
36
|
+
break;
|
|
37
|
+
case 180:
|
|
38
|
+
rotatedCenterOffset = {
|
|
39
|
+
x: structureSize.x - 1 - cx,
|
|
40
|
+
y: 0,
|
|
41
|
+
z: structureSize.z - 1 - cz,
|
|
42
|
+
};
|
|
43
|
+
break;
|
|
44
|
+
case 270:
|
|
45
|
+
rotatedCenterOffset = {
|
|
46
|
+
x: structureSize.z - 1 - cz,
|
|
47
|
+
y: 0,
|
|
48
|
+
z: cx,
|
|
49
|
+
};
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
const location = {
|
|
53
|
+
x: targetPosition.x - rotatedCenterOffset.x,
|
|
54
|
+
y: targetPosition.y - rotatedCenterOffset.y,
|
|
55
|
+
z: targetPosition.z - rotatedCenterOffset.z,
|
|
56
|
+
};
|
|
57
|
+
const endLocation = {
|
|
58
|
+
x: location.x + structureSize.x,
|
|
59
|
+
y: location.y + structureSize.y,
|
|
60
|
+
z: location.z + structureSize.z,
|
|
61
|
+
};
|
|
62
|
+
return { location, rotation, endLocation };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export { StructuresManager };
|
|
66
|
+
//# sourceMappingURL=structuresAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structuresAPI.js","sourceRoot":"","sources":["../../src/minecraft/structuresAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,iBAAiB;IACtB,MAAM,CAAC,eAAe,CAAC,KAAa,EAAE,MAAe;QACpD,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO;YAAE,OAAO,iBAAiB,CAAC,QAAQ,CAAC;QAC5E,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO;YAAE,OAAO,iBAAiB,CAAC,SAAS,CAAC;QAC9E,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO;YAAE,OAAO,iBAAiB,CAAC,SAAS,CAAC;QAC9E,OAAO,iBAAiB,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,eAAe,CACrB,aAAsB,EACtB,eAAuB,EACvB,cAAuB;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAEvD,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAExE,IAAI,mBAAmB,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAE/C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE3C,QAAQ,aAAa,EAAE,CAAC;YACvB,KAAK,CAAC;gBACL,mBAAmB,GAAG;oBACrB,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,EAAE;iBACL,CAAC;gBACF,MAAM;YACP,KAAK,EAAE;gBACN,mBAAmB,GAAG;oBACrB,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;iBAC3B,CAAC;gBACF,MAAM;YACP,KAAK,GAAG;gBACP,mBAAmB,GAAG;oBACrB,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;oBAC3B,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;iBAC3B,CAAC;gBACF,MAAM;YACP,KAAK,GAAG;gBACP,mBAAmB,GAAG;oBACrB,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;oBAC3B,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,EAAE;iBACL,CAAC;gBACF,MAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG;YAChB,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC;YAC3C,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC;YAC3C,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC;SAC3C,CAAC;QACF,MAAM,WAAW,GAAG;YACnB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;YAC/B,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;YAC/B,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;SAC/B,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAC5C,CAAC;CACD;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@starktma/minecraft-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -8,8 +8,12 @@
|
|
|
8
8
|
"author": "",
|
|
9
9
|
"license": "ISC",
|
|
10
10
|
"type": "module",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "https://github.com/StarkTMA/ScriptAPI.git"
|
|
14
|
+
},
|
|
11
15
|
"scripts": {
|
|
12
|
-
"build": "npx -
|
|
16
|
+
"build": "npx tsc -b --pretty --verbose",
|
|
13
17
|
"prepare": "npm run build"
|
|
14
18
|
},
|
|
15
19
|
"exports": {
|
|
@@ -47,7 +51,7 @@
|
|
|
47
51
|
"LICENSE"
|
|
48
52
|
],
|
|
49
53
|
"devDependencies": {
|
|
50
|
-
"@minecraft/server": "^2.
|
|
54
|
+
"@minecraft/server": "^2.3.0",
|
|
51
55
|
"@minecraft/server-ui": "^2.0.0",
|
|
52
56
|
"typescript": "^5.9.2"
|
|
53
57
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/database/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,sBAAsB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/database/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/game-state-machine/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,uBAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/game-state-machine/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,oBAAoB,CAAC"}
|