@kradle/challenges 0.0.2 → 0.1.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/dist/actions.d.ts +20 -21
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +65 -85
- package/dist/actions.js.map +1 -1
- package/dist/challenge.js +11 -11
- package/dist/challenge.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +4 -6
- package/dist/constants.js.map +1 -1
- package/dist/types.d.ts +2 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/src/actions.ts +72 -94
- package/src/challenge.ts +11 -11
- package/src/constants.ts +4 -6
- package/src/types.ts +2 -3
package/dist/actions.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ import type { ATTRIBUTES, BLOCKS, ENTITY_TYPES, ITEMS } from "sandstone/argument
|
|
|
3
3
|
import type { LiteralStringUnion } from "./utils";
|
|
4
4
|
export type TargetNames = LiteralStringUnion<"all" | "self"> | SelectorClass<any, any>;
|
|
5
5
|
export declare function mapTarget(target: string | SelectorClass): SelectorClass<any, any> | string;
|
|
6
|
-
export type Action = () => unknown;
|
|
7
6
|
export declare const Actions: {
|
|
8
7
|
/**
|
|
9
8
|
* Send a chat message to everyone.
|
|
@@ -11,20 +10,20 @@ export declare const Actions: {
|
|
|
11
10
|
*/
|
|
12
11
|
announce: ({ message }: {
|
|
13
12
|
message: JSONTextComponent;
|
|
14
|
-
}) =>
|
|
13
|
+
}) => void;
|
|
15
14
|
/**
|
|
16
15
|
* Clear the inventory of a target.
|
|
17
16
|
* @param {TargetNames} target - The target to clear the inventory of.
|
|
18
17
|
*/
|
|
19
18
|
clear: ({ target }: {
|
|
20
19
|
target: TargetNames;
|
|
21
|
-
}) =>
|
|
20
|
+
}) => void;
|
|
22
21
|
/**
|
|
23
22
|
* Custom action allowing to run any Sandstone command.
|
|
24
23
|
*
|
|
25
24
|
* @param {() => void} callback - The function to execute.
|
|
26
25
|
*/
|
|
27
|
-
custom: (callback: () => void) =>
|
|
26
|
+
custom: (callback: () => void) => void;
|
|
28
27
|
/**
|
|
29
28
|
* Fill a region with a block.
|
|
30
29
|
* @param {BLOCKS} block - The block to fill the region with.
|
|
@@ -46,7 +45,7 @@ export declare const Actions: {
|
|
|
46
45
|
z2: number;
|
|
47
46
|
absolute: boolean;
|
|
48
47
|
mode: "fill" | "line" | "pyramid";
|
|
49
|
-
}) =>
|
|
48
|
+
}) => void;
|
|
50
49
|
/**
|
|
51
50
|
* Give an item to a target.
|
|
52
51
|
* @param {ITEMS} item - The item to give.
|
|
@@ -57,7 +56,7 @@ export declare const Actions: {
|
|
|
57
56
|
item: ITEMS;
|
|
58
57
|
target: TargetNames;
|
|
59
58
|
count?: number;
|
|
60
|
-
}) =>
|
|
59
|
+
}) => void;
|
|
61
60
|
/**
|
|
62
61
|
* Give loot to a target with a weighted chance for selecting one of the items.
|
|
63
62
|
* @param {{ name: ITEMS, count: number, weight: number }[]} items - The items to give.
|
|
@@ -70,7 +69,7 @@ export declare const Actions: {
|
|
|
70
69
|
weight: number;
|
|
71
70
|
}];
|
|
72
71
|
target: TargetNames;
|
|
73
|
-
}) =>
|
|
72
|
+
}) => void;
|
|
74
73
|
/**
|
|
75
74
|
* Set a gamerule.
|
|
76
75
|
* @param {GAMERULES} rule - The name of the gamerule.
|
|
@@ -79,14 +78,14 @@ export declare const Actions: {
|
|
|
79
78
|
gamerule: ({ rule, value }: {
|
|
80
79
|
rule: GAMERULES;
|
|
81
80
|
value: boolean | number;
|
|
82
|
-
}) =>
|
|
81
|
+
}) => void;
|
|
83
82
|
/**
|
|
84
83
|
* Kill entities matching a selector.
|
|
85
84
|
* @param {SelectorArgument} selector - The entities to kill.
|
|
86
85
|
*/
|
|
87
86
|
kill: ({ selector }: {
|
|
88
87
|
selector: TargetNames;
|
|
89
|
-
}) =>
|
|
88
|
+
}) => void;
|
|
90
89
|
/**
|
|
91
90
|
* Set an attribute for a target.
|
|
92
91
|
* @param {ATTRIBUTES} attribute_ - The attribute to set.
|
|
@@ -97,14 +96,14 @@ export declare const Actions: {
|
|
|
97
96
|
attribute_: ATTRIBUTES;
|
|
98
97
|
value: number;
|
|
99
98
|
target: TargetNames;
|
|
100
|
-
}) =>
|
|
99
|
+
}) => void;
|
|
101
100
|
/**
|
|
102
101
|
* Set the time of day.
|
|
103
102
|
* @param {'day' | 'night'} time_ - The time to set.
|
|
104
103
|
*/
|
|
105
104
|
setTime: ({ time }: {
|
|
106
105
|
time: "day" | "night";
|
|
107
|
-
}) =>
|
|
106
|
+
}) => void;
|
|
108
107
|
/**
|
|
109
108
|
* Summon multiple entities at a specific location.
|
|
110
109
|
*/
|
|
@@ -115,14 +114,14 @@ export declare const Actions: {
|
|
|
115
114
|
y: number;
|
|
116
115
|
z: number;
|
|
117
116
|
absolute: boolean;
|
|
118
|
-
}) =>
|
|
117
|
+
}) => void;
|
|
119
118
|
/**
|
|
120
119
|
* Set the end state of the challenge.
|
|
121
120
|
* @param {string} end_state - The end state to set.
|
|
122
121
|
*/
|
|
123
122
|
setEndState: ({ endState }: {
|
|
124
123
|
endState: string;
|
|
125
|
-
}) =>
|
|
124
|
+
}) => void;
|
|
126
125
|
/**
|
|
127
126
|
* Set a block at a specific location.
|
|
128
127
|
*/
|
|
@@ -132,7 +131,7 @@ export declare const Actions: {
|
|
|
132
131
|
y: number;
|
|
133
132
|
z: number;
|
|
134
133
|
absolute: boolean;
|
|
135
|
-
}) =>
|
|
134
|
+
}) => void;
|
|
136
135
|
/**
|
|
137
136
|
* Teleport entities to a specific location.
|
|
138
137
|
* @param {TargetNames} target - The entities to teleport.
|
|
@@ -147,7 +146,7 @@ export declare const Actions: {
|
|
|
147
146
|
y: number;
|
|
148
147
|
z: number;
|
|
149
148
|
absolute: boolean;
|
|
150
|
-
}) =>
|
|
149
|
+
}) => void;
|
|
151
150
|
/**
|
|
152
151
|
* Send a chat message to a target.
|
|
153
152
|
* @param {string[]} message - The message to send.
|
|
@@ -156,21 +155,21 @@ export declare const Actions: {
|
|
|
156
155
|
tellraw: ({ message, target }: {
|
|
157
156
|
message: string[];
|
|
158
157
|
target: TargetNames;
|
|
159
|
-
}) =>
|
|
158
|
+
}) => void;
|
|
160
159
|
/**
|
|
161
160
|
* Increment a score variable by 1.
|
|
162
161
|
* @param variable - The score variable to increment.
|
|
163
162
|
*/
|
|
164
163
|
increment: ({ variable }: {
|
|
165
164
|
variable: Score;
|
|
166
|
-
}) =>
|
|
165
|
+
}) => void;
|
|
167
166
|
/**
|
|
168
167
|
* Decrement a score variable by 1.
|
|
169
168
|
* @param variable - The score variable to decrement.
|
|
170
169
|
*/
|
|
171
170
|
decrement: ({ variable }: {
|
|
172
171
|
variable: Score;
|
|
173
|
-
}) =>
|
|
172
|
+
}) => void;
|
|
174
173
|
/**
|
|
175
174
|
* Set a score variable to a specific value.
|
|
176
175
|
* @param variable - The score variable to set.
|
|
@@ -179,7 +178,7 @@ export declare const Actions: {
|
|
|
179
178
|
set: ({ variable, value }: {
|
|
180
179
|
variable: Score;
|
|
181
180
|
value: number | Score;
|
|
182
|
-
}) =>
|
|
181
|
+
}) => void;
|
|
183
182
|
/**
|
|
184
183
|
* log a message with the watcher
|
|
185
184
|
* @param {string} message - The message to send.
|
|
@@ -190,7 +189,7 @@ export declare const Actions: {
|
|
|
190
189
|
message: string;
|
|
191
190
|
variable: Score;
|
|
192
191
|
store: boolean;
|
|
193
|
-
}) =>
|
|
192
|
+
}) => void;
|
|
194
193
|
/**
|
|
195
194
|
* Summon an item at a specific location.
|
|
196
195
|
* @param {ITEMS} item - The item to summon.
|
|
@@ -205,6 +204,6 @@ export declare const Actions: {
|
|
|
205
204
|
y: number;
|
|
206
205
|
z: number;
|
|
207
206
|
absolute: boolean;
|
|
208
|
-
}) =>
|
|
207
|
+
}) => void;
|
|
209
208
|
};
|
|
210
209
|
//# sourceMappingURL=actions.d.ts.map
|
package/dist/actions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AACA,OAAO,EAMN,KAAK,SAAS,EAGd,KAAK,iBAAiB,EAOtB,KAAK,KAAK,EAEV,aAAa,EAQb,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAG7F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEvF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAkB1F;AAED,
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
|
package/dist/actions.js
CHANGED
|
@@ -31,16 +31,14 @@ exports.Actions = {
|
|
|
31
31
|
* @param {JSONTextComponent} message - The message to send.
|
|
32
32
|
*/
|
|
33
33
|
announce: ({ message }) => {
|
|
34
|
-
|
|
35
|
-
(0, sandstone_1.tellraw)("@a", ["\n", { text: constants_1.DISPLAY_TAG, color: "aqua" }, " | ", message, "\n"]);
|
|
36
|
-
};
|
|
34
|
+
(0, sandstone_1.tellraw)("@a", ["\n", { text: constants_1.DISPLAY_TAG, color: "aqua" }, " | ", message, "\n"]);
|
|
37
35
|
},
|
|
38
36
|
/**
|
|
39
37
|
* Clear the inventory of a target.
|
|
40
38
|
* @param {TargetNames} target - The target to clear the inventory of.
|
|
41
39
|
*/
|
|
42
40
|
clear: ({ target }) => {
|
|
43
|
-
|
|
41
|
+
(0, sandstone_1.clear)(mapTarget(target));
|
|
44
42
|
},
|
|
45
43
|
/**
|
|
46
44
|
* Custom action allowing to run any Sandstone command.
|
|
@@ -48,7 +46,7 @@ exports.Actions = {
|
|
|
48
46
|
* @param {() => void} callback - The function to execute.
|
|
49
47
|
*/
|
|
50
48
|
custom: (callback) => {
|
|
51
|
-
|
|
49
|
+
callback();
|
|
52
50
|
},
|
|
53
51
|
/**
|
|
54
52
|
* Fill a region with a block.
|
|
@@ -62,52 +60,50 @@ exports.Actions = {
|
|
|
62
60
|
* @param {boolean} absolute - Whether the coordinates are absolute or relative.
|
|
63
61
|
*/
|
|
64
62
|
fill: ({ block, x1, y1, z1, x2, y2, z2, absolute, mode, }) => {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
(0, sandstone_1.setblock)(absolute ? (0, sandstone_1.abs)(x, y, z) : (0, sandstone_1.rel)(x, y, z), block);
|
|
87
|
-
}
|
|
88
|
-
return;
|
|
63
|
+
// fill the region with the block
|
|
64
|
+
if (mode === "fill") {
|
|
65
|
+
const coordinates1 = absolute ? (0, sandstone_1.abs)(x1, y1, z1) : (0, sandstone_1.rel)(x1, y1, z1);
|
|
66
|
+
const coordinates2 = absolute ? (0, sandstone_1.abs)(x2, y2, z2) : (0, sandstone_1.rel)(x2, y2, z2);
|
|
67
|
+
(0, sandstone_1.fill)(coordinates1, coordinates2, block);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
// draw a line from the first coordinate to the second coordinate
|
|
71
|
+
if (mode === "line") {
|
|
72
|
+
const dx = x2 - x1;
|
|
73
|
+
const dy = y2 - y1;
|
|
74
|
+
const dz = z2 - z1;
|
|
75
|
+
const length = Math.max(Math.abs(dx), Math.abs(dy), Math.abs(dz));
|
|
76
|
+
const stepX = dx / length || 0;
|
|
77
|
+
const stepY = dy / length || 0;
|
|
78
|
+
const stepZ = dz / length || 0;
|
|
79
|
+
for (let i = 0; i <= length; i++) {
|
|
80
|
+
const x = Math.round(x1 + stepX * i);
|
|
81
|
+
const y = Math.round(y1 + stepY * i);
|
|
82
|
+
const z = Math.round(z1 + stepZ * i);
|
|
83
|
+
(0, sandstone_1.setblock)(absolute ? (0, sandstone_1.abs)(x, y, z) : (0, sandstone_1.rel)(x, y, z), block);
|
|
89
84
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (mode === "pyramid") {
|
|
88
|
+
const height = Math.abs(y2);
|
|
89
|
+
const direction = Math.sign(y2); // +1 for up, -1 for down
|
|
90
|
+
for (let i = 0; i < height; i++) {
|
|
91
|
+
const y = y1 + i * direction;
|
|
92
|
+
const layerRadius = (height - 1 - i) * 2;
|
|
93
|
+
const minX = x1 - layerRadius;
|
|
94
|
+
const maxX = x1 + layerRadius;
|
|
95
|
+
const minZ = z1 - layerRadius;
|
|
96
|
+
const maxZ = z1 + layerRadius;
|
|
97
|
+
for (let x = minX; x <= maxX; x++) {
|
|
98
|
+
for (let z = minZ; z <= maxZ; z++) {
|
|
99
|
+
(0, sandstone_1.setblock)(absolute ? (0, sandstone_1.abs)(x, y, z) : (0, sandstone_1.rel)(x, y, z), block);
|
|
104
100
|
}
|
|
105
101
|
}
|
|
106
|
-
return;
|
|
107
102
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
// if mode is not fill or line, throw an error
|
|
106
|
+
throw new Error(`Invalid fill mode: ${mode}`);
|
|
111
107
|
},
|
|
112
108
|
/**
|
|
113
109
|
* Give an item to a target.
|
|
@@ -116,7 +112,7 @@ exports.Actions = {
|
|
|
116
112
|
* @param {number} count - The number of items to give.
|
|
117
113
|
*/
|
|
118
114
|
give: ({ item, target, count = 1 }) => {
|
|
119
|
-
|
|
115
|
+
(0, sandstone_1.give)(mapTarget(target), item, count);
|
|
120
116
|
},
|
|
121
117
|
/**
|
|
122
118
|
* Give loot to a target with a weighted chance for selecting one of the items.
|
|
@@ -125,7 +121,7 @@ exports.Actions = {
|
|
|
125
121
|
*/
|
|
126
122
|
giveLoot: ({ items, target }) => {
|
|
127
123
|
// sort incoming items and create a hash for table re-use
|
|
128
|
-
const lootItemsSorted = items.sort((a, b) => a.name.localeCompare(b.name));
|
|
124
|
+
const lootItemsSorted = [...items].sort((a, b) => a.name.localeCompare(b.name));
|
|
129
125
|
const lootItemsJson = JSON.stringify(lootItemsSorted);
|
|
130
126
|
const lootItemsHash = node_crypto_1.default.createHash("sha256").update(lootItemsJson).digest("hex");
|
|
131
127
|
const lootTableName = `loot_${lootItemsHash}`.slice(0, 16);
|
|
@@ -152,7 +148,7 @@ exports.Actions = {
|
|
|
152
148
|
],
|
|
153
149
|
};
|
|
154
150
|
// on conflict, ignore because we can re-use duplicate loot tables
|
|
155
|
-
|
|
151
|
+
(0, sandstone_1.LootTable)(lootTableName, lootTable, { onConflict: "ignore" }).give(mapTarget(target));
|
|
156
152
|
},
|
|
157
153
|
/**
|
|
158
154
|
* Set a gamerule.
|
|
@@ -160,14 +156,14 @@ exports.Actions = {
|
|
|
160
156
|
* @param {boolean | number} value - The value to set the gamerule to.
|
|
161
157
|
*/
|
|
162
158
|
gamerule: ({ rule, value }) => {
|
|
163
|
-
|
|
159
|
+
(0, sandstone_1.gamerule)(rule, value);
|
|
164
160
|
},
|
|
165
161
|
/**
|
|
166
162
|
* Kill entities matching a selector.
|
|
167
163
|
* @param {SelectorArgument} selector - The entities to kill.
|
|
168
164
|
*/
|
|
169
165
|
kill: ({ selector }) => {
|
|
170
|
-
|
|
166
|
+
(0, sandstone_1.kill)(mapTarget(selector));
|
|
171
167
|
},
|
|
172
168
|
/**
|
|
173
169
|
* Set an attribute for a target.
|
|
@@ -176,45 +172,37 @@ exports.Actions = {
|
|
|
176
172
|
* @param {TargetNames} target - The target to set the attribute for.
|
|
177
173
|
*/
|
|
178
174
|
setAttribute: ({ attribute_, value, target }) => {
|
|
179
|
-
|
|
180
|
-
sandstone_1.execute.as(mapTarget(target)).run.attribute("@s", attribute_).baseSet(value);
|
|
181
|
-
};
|
|
175
|
+
sandstone_1.execute.as(mapTarget(target)).run.attribute("@s", attribute_).baseSet(value);
|
|
182
176
|
},
|
|
183
177
|
/**
|
|
184
178
|
* Set the time of day.
|
|
185
179
|
* @param {'day' | 'night'} time_ - The time to set.
|
|
186
180
|
*/
|
|
187
181
|
setTime: ({ time }) => {
|
|
188
|
-
|
|
182
|
+
sandstone_1.time.set(time);
|
|
189
183
|
},
|
|
190
184
|
/**
|
|
191
185
|
* Summon multiple entities at a specific location.
|
|
192
186
|
*/
|
|
193
187
|
summonMultiple: (params) => {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}
|
|
199
|
-
};
|
|
188
|
+
const coordinates = params.absolute ? (0, sandstone_1.abs)(params.x, params.y, params.z) : (0, sandstone_1.rel)(params.x, params.y, params.z);
|
|
189
|
+
for (let i = 0; i < params.count; i++) {
|
|
190
|
+
(0, sandstone_1.summon)(params.entity, coordinates);
|
|
191
|
+
}
|
|
200
192
|
},
|
|
201
193
|
/**
|
|
202
194
|
* Set the end state of the challenge.
|
|
203
195
|
* @param {string} end_state - The end state to set.
|
|
204
196
|
*/
|
|
205
197
|
setEndState: ({ endState }) => {
|
|
206
|
-
|
|
207
|
-
sandstone_1.data.modify.storage(constants_1.KRADLE_STORAGE, constants_1.END_STATE_KEY).set.value(endState);
|
|
208
|
-
};
|
|
198
|
+
sandstone_1.data.modify.storage(constants_1.KRADLE_STORAGE, constants_1.END_STATE_KEY).set.value(endState);
|
|
209
199
|
},
|
|
210
200
|
/**
|
|
211
201
|
* Set a block at a specific location.
|
|
212
202
|
*/
|
|
213
203
|
setBlock: (params) => {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
(0, sandstone_1.setblock)(coordinates, params.block);
|
|
217
|
-
};
|
|
204
|
+
const coordinates = params.absolute ? (0, sandstone_1.abs)(params.x, params.y, params.z) : (0, sandstone_1.rel)(params.x, params.y, params.z);
|
|
205
|
+
(0, sandstone_1.setblock)(coordinates, params.block);
|
|
218
206
|
},
|
|
219
207
|
// teleport
|
|
220
208
|
// TODO: allow destination to be a SingleEntityArgument | Coordinates
|
|
@@ -229,7 +217,7 @@ exports.Actions = {
|
|
|
229
217
|
*/
|
|
230
218
|
teleport: ({ target, x, y, z, absolute = true, }) => {
|
|
231
219
|
const coordinates = absolute ? (0, sandstone_1.abs)(x, y, z) : (0, sandstone_1.rel)(x, y, z);
|
|
232
|
-
|
|
220
|
+
(0, sandstone_1.teleport)(mapTarget(target), coordinates);
|
|
233
221
|
},
|
|
234
222
|
/**
|
|
235
223
|
* Send a chat message to a target.
|
|
@@ -237,7 +225,7 @@ exports.Actions = {
|
|
|
237
225
|
* @param {TargetNames} target - The target to send the message to.
|
|
238
226
|
*/
|
|
239
227
|
tellraw: ({ message, target }) => {
|
|
240
|
-
|
|
228
|
+
(0, sandstone_1.tellraw)(mapTarget(target), message);
|
|
241
229
|
},
|
|
242
230
|
// Score operations
|
|
243
231
|
/**
|
|
@@ -245,18 +233,14 @@ exports.Actions = {
|
|
|
245
233
|
* @param variable - The score variable to increment.
|
|
246
234
|
*/
|
|
247
235
|
increment: ({ variable }) => {
|
|
248
|
-
|
|
249
|
-
variable.add(1);
|
|
250
|
-
};
|
|
236
|
+
variable.add(1);
|
|
251
237
|
},
|
|
252
238
|
/**
|
|
253
239
|
* Decrement a score variable by 1.
|
|
254
240
|
* @param variable - The score variable to decrement.
|
|
255
241
|
*/
|
|
256
242
|
decrement: ({ variable }) => {
|
|
257
|
-
|
|
258
|
-
variable.remove(1);
|
|
259
|
-
};
|
|
243
|
+
variable.remove(1);
|
|
260
244
|
},
|
|
261
245
|
/**
|
|
262
246
|
* Set a score variable to a specific value.
|
|
@@ -264,9 +248,7 @@ exports.Actions = {
|
|
|
264
248
|
* @param value - The value to set the score variable to, which can be a number or another score variable.
|
|
265
249
|
*/
|
|
266
250
|
set: ({ variable, value }) => {
|
|
267
|
-
|
|
268
|
-
variable.set(value);
|
|
269
|
-
};
|
|
251
|
+
variable.set(value);
|
|
270
252
|
},
|
|
271
253
|
/**
|
|
272
254
|
* log a message with the watcher
|
|
@@ -276,7 +258,7 @@ exports.Actions = {
|
|
|
276
258
|
*/
|
|
277
259
|
// WARNING: the logs must have precisely this structure to be read by the watcher. DO NOT CHANGE THE STRUCTURE.
|
|
278
260
|
log_variable: ({ message, variable, store }) => {
|
|
279
|
-
|
|
261
|
+
commands_1.Commands.logVariable(message, variable, store);
|
|
280
262
|
},
|
|
281
263
|
/**
|
|
282
264
|
* Summon an item at a specific location.
|
|
@@ -287,10 +269,8 @@ exports.Actions = {
|
|
|
287
269
|
* @param {boolean} absolute - Whether the coordinates are absolute or relative.
|
|
288
270
|
*/
|
|
289
271
|
summonItem: ({ item, x, y, z, absolute }) => {
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
(0, sandstone_1.raw)(`summon item ${abs}${x} ${abs}${y} ${abs}${z} {Item:{id:"${item}",Count:1b}}`);
|
|
293
|
-
};
|
|
272
|
+
const abs = absolute ? "" : "~";
|
|
273
|
+
(0, sandstone_1.raw)(`summon item ${abs}${x} ${abs}${y} ${abs}${z} {Item:{id:"${item}",Count:1b}}`);
|
|
294
274
|
},
|
|
295
275
|
};
|
|
296
276
|
//# sourceMappingURL=actions.js.map
|
package/dist/actions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":";;;;;;AAoCA,8BAkBC;AAtDD,8DAAiC;AACjC,yCA0BmB;AAEnB,yCAAsC;AACtC,2CAA8E;AAM9E,SAAgB,SAAS,CAAC,MAA8B;IACvD,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,KAAK;YACT,OAAO,eAAG,CAAC;QACZ,KAAK,MAAM;YACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,YAAY,yBAAa,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC;IACf,CAAC;IAED,6CAA6C;IAC7C,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACrC,OAAO,IAAA,oBAAQ,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,IAAA,oBAAQ,EAAC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,qCAAqC;AAC9E,CAAC;
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
|
package/dist/challenge.js
CHANGED
|
@@ -251,11 +251,11 @@ class ChallengeBase {
|
|
|
251
251
|
},
|
|
252
252
|
});
|
|
253
253
|
return {
|
|
254
|
-
actions:
|
|
254
|
+
actions: () => {
|
|
255
255
|
// First action is to reset the score to 0
|
|
256
|
-
actions_1.Actions.set({ variable: score, value: 0 })
|
|
257
|
-
|
|
258
|
-
|
|
256
|
+
actions_1.Actions.set({ variable: score, value: 0 });
|
|
257
|
+
event.actions();
|
|
258
|
+
},
|
|
259
259
|
mode: event.mode,
|
|
260
260
|
score: score,
|
|
261
261
|
};
|
|
@@ -292,7 +292,7 @@ class ChallengeBase {
|
|
|
292
292
|
// For global scores, we can directly use the condition
|
|
293
293
|
(0, sandstone_1.comment)(`Processing global custom score event ${debugName}`);
|
|
294
294
|
sandstone_1._.if(condition, () => {
|
|
295
|
-
actions
|
|
295
|
+
actions();
|
|
296
296
|
counter.add(1);
|
|
297
297
|
});
|
|
298
298
|
}
|
|
@@ -301,7 +301,7 @@ class ChallengeBase {
|
|
|
301
301
|
(0, sandstone_1.comment)(`Processing individual custom score event ${debugName}`);
|
|
302
302
|
sandstone_1.execute.as(constants_1.ALL).run((0, utils_1.getChildFunctionName)(debugName), () => {
|
|
303
303
|
sandstone_1._.if(condition, () => {
|
|
304
|
-
actions
|
|
304
|
+
actions();
|
|
305
305
|
counter.add(1);
|
|
306
306
|
});
|
|
307
307
|
});
|
|
@@ -341,7 +341,7 @@ class ChallengeBase {
|
|
|
341
341
|
(0, testmode_1.set_up_test_mode)();
|
|
342
342
|
}
|
|
343
343
|
(0, sandstone_1.comment)("3. Process the start_challenge events");
|
|
344
|
-
this._events.start_challenge?.
|
|
344
|
+
this._events.start_challenge?.();
|
|
345
345
|
(0, sandstone_1.comment)("4. Schedule the init_participants function to run after 1s");
|
|
346
346
|
init_participants.schedule("1s");
|
|
347
347
|
(0, sandstone_1.comment)("5. Display the game objective");
|
|
@@ -374,7 +374,7 @@ class ChallengeBase {
|
|
|
374
374
|
});
|
|
375
375
|
}
|
|
376
376
|
(0, sandstone_1.comment)("3. Process the init_participants events");
|
|
377
|
-
this._events.init_participants?.
|
|
377
|
+
this._events.init_participants?.();
|
|
378
378
|
(0, sandstone_1.comment)("4. Set the game state to ON");
|
|
379
379
|
this.full_variables.game_state.score.set(constants_1.GAME_STATES.ON);
|
|
380
380
|
//tellraw("@a", [`${DISPLAY_TAG}The challenge has started!`]);
|
|
@@ -401,7 +401,7 @@ class ChallengeBase {
|
|
|
401
401
|
}
|
|
402
402
|
})();
|
|
403
403
|
(0, sandstone_1.comment)("2. Process the on_tick event");
|
|
404
|
-
this._events.on_tick?.
|
|
404
|
+
this._events.on_tick?.();
|
|
405
405
|
(0, sandstone_1.comment)("3. Process custom events");
|
|
406
406
|
(0, sandstone_1.MCFunction)("process_custom_events", () => {
|
|
407
407
|
// We process all custom events - this checks if the condition is reached & fire them if necessary
|
|
@@ -433,14 +433,14 @@ class ChallengeBase {
|
|
|
433
433
|
(0, sandstone_1.comment)("1. Set the game state to OFF");
|
|
434
434
|
this.full_variables.game_state.score.set(constants_1.GAME_STATES.OFF);
|
|
435
435
|
(0, sandstone_1.comment)("2. Process the end_challenge events");
|
|
436
|
-
this._events.end_challenge?.
|
|
436
|
+
this._events.end_challenge?.();
|
|
437
437
|
(0, sandstone_1.comment)("3. Announce the winners");
|
|
438
438
|
for (const [role, condition] of Object.entries(this._win_conditions || {})) {
|
|
439
439
|
sandstone_1.execute.as((0, actions_1.mapTarget)(role)).run((0, utils_1.getChildFunctionName)(`check_winner_team_${role}`), () => {
|
|
440
440
|
sandstone_1._.if(condition, () => {
|
|
441
441
|
actions_1.Actions.announce({
|
|
442
442
|
message: [(0, sandstone_1.Selector)("@s"), " has won the challenge!"],
|
|
443
|
-
})
|
|
443
|
+
});
|
|
444
444
|
(0, sandstone_1.tag)("@s").add(constants_1.WINNER_TAG);
|
|
445
445
|
});
|
|
446
446
|
});
|
package/dist/challenge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"challenge.js","sourceRoot":"","sources":["../src/challenge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"challenge.js","sourceRoot":"","sources":["../src/challenge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmiBA,0CAIC;AAviBD,gDAAkC;AAClC,yCAcmB;AAEnB,uCAA+C;AAC/C,yCAAsC;AACtC,2CASqB;AACrB,yCAAiE;AACjE,mCAaiB;AACjB,mCAA+C;AAElC,QAAA,sBAAsB,GAAG,0BAA0B,CAAC;AAEjE,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AACvC,MAAM,qCAAqC,GAAG,kBAAkB,CAAC;AAEjE,MAAM,0BAA0B,GAAG,SAAS,CAAC;AAC7C,MAAM,yCAAyC,GAAG,kBAAkB,CAAC;AAErE,IAAI,sBAAsB,GAAG,CAAC,CAAC;AAE/B;;GAEG;AACH,SAAS,wBAAwB,CAAC,IAAY,EAAE,MAAc;IAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,GAAG,WAAW,GAAG,MAAM,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,IAAY;IAC3C,sBAAsB,EAAE,CAAC;IAEzB,OAAO,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,IAAY,EAAE,IAAyB;IACpE,IAAI,CAAC;QACJ,OAAO,qBAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA4B;IACvD,OAAO,OAAO,IAAI,KAAK,CAAC;AACzB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA4B;IAC7D,OAAO,UAAU,IAAI,KAAK,CAAC;AAC5B,CAAC;AAED,MAAa,aAAa;IACjB,aAAa,CAAS;IACtB,KAAK,CAAqB;IAC1B,cAAc,CAAgC;IAC9C,uBAAuB,CAAoC;IAC3D,OAAO,GAAoB,EAAE,CAAC;IAEtC,uEAAuE;IAC/D,sBAAsB,GAAiC,EAAE,CAAC;IAC1D,cAAc,CAA4B;IAC1C,eAAe,CAAiD;IAEhE,IAAI,CAAS;IACb,qBAAqB,CAAS;IAEtC,YAAY,MAAgD;QAC3D,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,wBAAY,CAAC;QAE1D,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;QAChH,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,GAAG,wBAAY,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,+BAA+B,wBAAY,GAAG,EAAE,WAAW,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAQ,CAAC;QAEjF,MAAM,aAAa,GAAG;YACrB,GAAG,6BAAiB;YACpB,GAAG,MAAM,CAAC,gBAAgB;SACoB,CAAC;QAEhD,IAAI,CAAC,cAAc,GAAG;YACrB,GAAG,MAAM,CAAC,WAAW,CACpB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAClD,IAAI,IAAA,mCAA2B,EAAC,KAAK,CAAC,EAAE,CAAC;oBACxC,OAAO;wBACN,GAAG;wBACH;4BACC,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,KAAK,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;4BACxD,OAAO,EAAG,KAAa,CAAC,OAAO;4BAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;yBACtB;qBACD,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,4BAAgB,CAAC,CAAC,CAAC,6BAAiB,CAAC;oBACtE,OAAO;wBACN,GAAG;wBACH;4BACC,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC;4BACrB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,OAAO,EAAE,KAAK,CAAC,OAAO;yBACtB;qBACD,CAAC;gBACH,CAAC;gBACD,OAAO;oBACN,GAAG;oBACH;wBACC,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;wBAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;qBACtB;iBACD,CAAC;YACH,CAAC,CAAC,CACF;SACgC,CAAC;IACpC,CAAC;IAED,IAAY,SAAS;QACpB,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACxD,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAC2B,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACK,qBAAqB,CAAC,KAAiC,EAAE,MAAuB;QACvF,mFAAmF;QACnF,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,GAAG,YAAY,KAAK,MAAM,EAAE,CAAC;QAE/C,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC/B,0DAA0D;YAC1D,MAAM,SAAS,GAAG,oBAAoB,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;YAC3F,OAAO;gBACN,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC;gBAC7B,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,SAAS;aACpB,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,SAAS,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,0BAA0B,GAAG,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;QACnH,OAAO;YACN,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;YACtC,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE,SAAS;SACpB,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,IAAY,EAAE,QAAsB;QACvD,mBAAmB;QACnB,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QACD,mBAAmB;QACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACtC,CAAC;IAEO,qBAAqB,CAAC,IAAY;QACzC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CACL,MAA4F;QAE5F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,QAAe;QACtC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QAC5G,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,0BAA0B,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,KAAY;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,0BAA0B,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,YAA8B,CAAC,CAAC,IAAI,CAAC;IACjE,CAAC;IAED,aAAa,CACZ,aAA2G;QAE3G,MAAM,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpE,kHAAkH;QAClH,MAAM,+BAA+B,GAAiC,iBAAiB;aACrF,MAAM,CAAC,wBAAwB,CAAC;aAChC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACtG,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,KAAK,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;YAEhF,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;gBACtB,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,SAAS;aAClB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,IAAA,sBAAU,EAAC,8BAA8B,IAAI,EAAE,EAAE,GAAG,EAAE;gBAC3E,gGAAgG;gBAChG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACb,WAAW,CAAC,MAAM,CAAC,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,IAAA,uBAAW,EAAC,IAAI,EAAE;gBACrC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAC3B,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,aAAa,cAAc,EAAE,EAAE,SAAS,CAAC,CAAC,CAC7F;gBACD,OAAO,EAAE;oBACR,QAAQ,EAAE,aAAa;iBACvB;aACD,CAAC,CAAC;YAEH,OAAO;gBACN,OAAO,EAAE,GAAG,EAAE;oBACb,0CAA0C;oBAC1C,iBAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC3C,KAAK,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC;gBACD,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK;aACZ,CAAC;QACH,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,sBAAsB,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,GAAG,+BAA+B,CAAC,CAAC;QACpH,OAAO,IAAI,CAAC;IACb,CAAC;IAED,aAAa,CACZ,SAA8F;QAE9F,IAAI,CAAC,cAAc,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,cAAc,CACb,SAAkH;QAElH,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACK,uBAAuB,CAAC,KAAuB;QACtD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;QAC1D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAE3C,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9E,sGAAsG;QACtG,MAAM,cAAc,GAAG,MAAM;YAC5B,CAAC,CAAC,aAAC,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAEnC,iEAAiE;QACjE,MAAM,SAAS,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAC,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAErG,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvB,uDAAuD;YACvD,IAAA,mBAAO,EAAC,wCAAwC,SAAS,EAAE,CAAC,CAAC;YAC7D,aAAC,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBACpB,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,8DAA8D;YAC9D,IAAA,mBAAO,EAAC,4CAA4C,SAAS,EAAE,CAAC,CAAC;YACjE,mBAAO,CAAC,EAAE,CAAC,eAAG,CAAC,CAAC,GAAG,CAAC,IAAA,4BAAoB,EAAC,SAAS,CAAC,EAAE,GAAG,EAAE;gBACzD,aAAC,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;oBACpB,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED;;OAEG;IACK,KAAK;QACZ,wCAAwC;QACxC,kDAAkD;QAClD,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,WAAW,CAChD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACnE,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvB,qFAAqF;gBACrF,MAAM,SAAS,GAAG,oBAAoB,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAAC;gBACvF,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC;YAED,mEAAmE;YACnE,MAAM,SAAS,GAAG,qBAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YAClG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CACF,CAAC;QAEF,iEAAiE;QACjE,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CACtG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAC1D,CAAC;QAEF,2BAA2B;QAC3B,IAAA,sBAAU,EAAC,iBAAiB,EAAE,GAAG,EAAE;YAClC,IAAA,mBAAO,EAAC,4DAA4D,CAAC,CAAC;YACtE,IAAA,mBAAO,EAAC,kCAAkC,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3D,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAClE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACtC,CAAC;YACF,CAAC;YACD,IAAA,eAAG,EAAC,eAAG,CAAC,CAAC,MAAM,CAAC,sBAAU,CAAC,CAAC;YAE5B,IAAA,mBAAO,EAAC,wFAAwF,CAAC,CAAC;YAClG,IAAI,4BAAiB,EAAE,CAAC;gBACvB,IAAA,2BAAgB,GAAE,CAAC;YACpB,CAAC;YAED,IAAA,mBAAO,EAAC,uCAAuC,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;YAEjC,IAAA,mBAAO,EAAC,4DAA4D,CAAC,CAAC;YACtE,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjC,IAAA,mBAAO,EAAC,+BAA+B,CAAC,CAAC;YACzC,sBAAU,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,6BAAiB,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAA,sBAAU,EAAC,mBAAmB,EAAE,GAAG,EAAE;YAC9D,IAAA,mBAAO,EAAC,4DAA4D,CAAC,CAAC;YACtE,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBACpE,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACvD,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE,CAAC;oBAC1C,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,aAAa,CAAC,CAAC;gBACnE,CAAC;gBAED,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACtE,mBAAO,CAAC,EAAE,CAAC,eAAG,CAAC,CAAC,GAAG,CAAC,IAAA,4BAAoB,EAAC,IAAI,CAAC,EAAE,GAAG,EAAE;wBACpD,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAiB,CAAC,CAAC;wBAC/C,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAiB,CAAC,CAAC;oBAC/C,CAAC,CAAC,CAAC;gBACJ,CAAC;gBAED,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAClE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACrC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACrC,CAAC;YACF,CAAC;YAED,IAAA,mBAAO,EAAC,sCAAsC,CAAC,CAAC;YAEhD,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;gBACvC,wEAAwE;gBACxE,6DAA6D;gBAC7D,mBAAO,CAAC,EAAE,CAAC,eAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;oBACxB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;YACJ,CAAC;YAED,IAAA,mBAAO,EAAC,yCAAyC,CAAC,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAEnC,IAAA,mBAAO,EAAC,6BAA6B,CAAC,CAAC;YACvC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAW,CAAC,EAAE,CAAC,CAAC;YAEzD,8DAA8D;QAC/D,CAAC,CAAC,CAAC;QAEH,IAAA,sBAAU,EACT,SAAS,EACT,GAAG,EAAE;YACJ,aAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAW,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;gBAC5D,IAAA,mBAAO,EAAC,qBAAqB,CAAC,CAAC;gBAC/B,IAAA,sBAAU,EAAC,0BAA0B,EAAE,GAAG,EAAE;oBAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;wBACpE,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;4BACtB,IAAA,mBAAO,EAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;4BACrC,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gCACpC,mBAAO;qCACL,EAAE,CAAC,eAAG,CAAC;qCACP,EAAE,CAAC,IAAI,CAAC;qCACR,GAAG,CAAC,IAAA,4BAAoB,EAAC,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE;oCACjD,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gCACpD,CAAC,CAAC,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACP,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;4BAClD,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC,CAAC,EAAE,CAAC;gBAEL,IAAA,mBAAO,EAAC,8BAA8B,CAAC,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBAEzB,IAAA,mBAAO,EAAC,0BAA0B,CAAC,CAAC;gBACpC,IAAA,sBAAU,EAAC,uBAAuB,EAAE,GAAG,EAAE;oBACxC,kGAAkG;oBAClG,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBACnC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;gBAEL,IAAA,mBAAO,EAAC,0CAA0C,CAAC,CAAC;gBACpD,mBAAO,CAAC,EAAE,CAAC,eAAG,CAAC,CAAC,GAAG,CAAC,IAAA,4BAAoB,EAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE;oBACrE,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;wBACpE,8EAA8E;wBAC9E,mDAAmD;wBACnD,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;wBACvD,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACnC,CAAC;gBACF,CAAC,CAAC,CAAC;gBAEH,IAAA,mBAAO,EAAC,yBAAyB,CAAC,CAAC;gBAEnC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,aAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBAEtG,aAAC,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;oBACvB,0EAA0E;oBAC1E,aAAa,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACJ,CAAC,EACD;YACC,YAAY,EAAE,IAAI;SAClB,CACD,CAAC;QAEF,MAAM,aAAa,GAAG,IAAA,sBAAU,EAAC,eAAe,EAAE,GAAG,EAAE;YACtD,IAAA,mBAAO,EAAC,8BAA8B,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAW,CAAC,GAAG,CAAC,CAAC;YAE1D,IAAA,mBAAO,EAAC,qCAAqC,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAE/B,IAAA,mBAAO,EAAC,yBAAyB,CAAC,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5E,mBAAO,CAAC,EAAE,CAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAA,4BAAoB,EAAC,qBAAqB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE;oBACvF,aAAC,CAAC,EAAE,CAAC,SAA0B,EAAE,GAAG,EAAE;wBACrC,iBAAO,CAAC,QAAQ,CAAC;4BAChB,OAAO,EAAE,CAAC,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,yBAAyB,CAAC;yBACpD,CAAC,CAAC;wBACH,IAAA,eAAG,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,sBAAU,CAAC,CAAC;oBAC3B,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,mBAAQ,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAA,oBAAQ,EAAC,UAAU,EAAE;YACpB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC;SAC5D,CAAC,CAAC;IACJ,CAAC;CACD;AA5bD,sCA4bC;AAED;;GAEG;AACH,SAAgB,eAAe,CAC9B,MAA+C;IAE/C,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -67,6 +67,6 @@ export type BUILTIN_VARIABLE_NAMES = keyof typeof BUILTIN_VARIABLES;
|
|
|
67
67
|
export declare const BUILTIN_SCORE_EVENTS: (variables: Record<BUILTIN_VARIABLE_NAMES, Score>) => {
|
|
68
68
|
mode: "repeatable";
|
|
69
69
|
score: Score<string | undefined>;
|
|
70
|
-
actions: (
|
|
70
|
+
actions: () => void;
|
|
71
71
|
}[];
|
|
72
72
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,KAAK,EAAY,MAAM,WAAW,CAAC;AAIxE;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,eAAe,GAAG,SAAS,CAAC;AAE7G,eAAO,MAAM,iBAAiB,2DAAuF,CAAC;AACtH,eAAO,MAAM,gBAAgB,2DAAoC,CAAC;AAElE,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,UAAU,oBAAoB,CAAC;AAC5C,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAC3D,eAAO,MAAM,UAAU,kBAAkB,CAAC;AAC1C,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAE1C,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC,eAAO,MAAM,YAAY,QAAc,CAAC;AAGxC,eAAO,MAAM,GAAG,gDAAkD,CAAC;AACnE,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAKX,eAAO,MAAM,iBAAiB;;;;;;;;yBAQX,KAAK;;;;yBASL,KAAK;;;;;yBAYL,KAAK;;;;;yBAOL,KAAK;;;;;;;;;;;;;;yBAiBL,KAAK;;;;;yBAYL,KAAK;;CAS8B,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAEpE,eAAO,MAAM,oBAAoB,GAAI,WAAW,MAAM,CAAC,sBAAsB,EAAE,KAAK,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,KAAK,EAAY,MAAM,WAAW,CAAC;AAIxE;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,eAAe,GAAG,SAAS,CAAC;AAE7G,eAAO,MAAM,iBAAiB,2DAAuF,CAAC;AACtH,eAAO,MAAM,gBAAgB,2DAAoC,CAAC;AAElE,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,UAAU,oBAAoB,CAAC;AAC5C,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAC3D,eAAO,MAAM,UAAU,kBAAkB,CAAC;AAC1C,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAE1C,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC,eAAO,MAAM,YAAY,QAAc,CAAC;AAGxC,eAAO,MAAM,GAAG,gDAAkD,CAAC;AACnE,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAKX,eAAO,MAAM,iBAAiB;;;;;;;;yBAQX,KAAK;;;;yBASL,KAAK;;;;;yBAYL,KAAK;;;;;yBAOL,KAAK;;;;;;;;;;;;;;yBAiBL,KAAK;;;;;yBAYL,KAAK;;CAS8B,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAEpE,eAAO,MAAM,oBAAoB,GAAI,WAAW,MAAM,CAAC,sBAAsB,EAAE,KAAK,CAAC;;;;GASjD,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -93,7 +93,7 @@ exports.BUILTIN_VARIABLES = {
|
|
|
93
93
|
sandstone_1._.if(value.greaterThan(0), () => {
|
|
94
94
|
types_1.Actions.announce({
|
|
95
95
|
message: [(0, sandstone_1.Selector)("@s"), " has died!"],
|
|
96
|
-
})
|
|
96
|
+
});
|
|
97
97
|
value.set(0); // Reset the death count after announcing
|
|
98
98
|
});
|
|
99
99
|
},
|
|
@@ -103,11 +103,9 @@ const BUILTIN_SCORE_EVENTS = (variables) => [
|
|
|
103
103
|
{
|
|
104
104
|
mode: "repeatable",
|
|
105
105
|
score: variables.main_score,
|
|
106
|
-
actions:
|
|
107
|
-
()
|
|
108
|
-
|
|
109
|
-
},
|
|
110
|
-
],
|
|
106
|
+
actions: () => {
|
|
107
|
+
(0, exports.VISIBLE_OBJECTIVE)("@s").set(variables.main_score);
|
|
108
|
+
},
|
|
111
109
|
},
|
|
112
110
|
];
|
|
113
111
|
exports.BUILTIN_SCORE_EVENTS = BUILTIN_SCORE_EVENTS;
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Score } from "sandstone";
|
|
2
2
|
import type { OBJECTIVE_CRITERION } from "sandstone/arguments/generated";
|
|
3
3
|
import type { AdvancementTriggers } from "sandstone/arguments/resources/AdvancementTriggers";
|
|
4
|
-
import type { Action } from "./actions";
|
|
5
4
|
import type { BUILTIN_VARIABLE_NAMES, POSSIBLE_SCENARIO_EVENTS } from "./constants";
|
|
6
5
|
export { Actions } from "./actions";
|
|
7
6
|
export type _SpecificObjectiveVariable<VARIABLE_NAMES extends string = string> = {
|
|
@@ -56,9 +55,7 @@ export type _BaseConfig<ROLE_NAMES extends string, VARIABLE_NAMES extends string
|
|
|
56
55
|
roles: ROLE_NAMES[];
|
|
57
56
|
custom_variables: Record<VARIABLE_NAMES, _InputVariableType<VARIABLE_NAMES | BUILTIN_VARIABLE_NAMES>>;
|
|
58
57
|
};
|
|
59
|
-
export type _ScenarioEvents = Partial<Record<POSSIBLE_SCENARIO_EVENTS,
|
|
60
|
-
actions: Action[];
|
|
61
|
-
}>>;
|
|
58
|
+
export type _ScenarioEvents = Partial<Record<POSSIBLE_SCENARIO_EVENTS, () => void>>;
|
|
62
59
|
export type Roles<ROLES_NAMES extends string = string> = {
|
|
63
60
|
[role in ROLES_NAMES]: role;
|
|
64
61
|
};
|
|
@@ -79,7 +76,7 @@ type _InputEventCommonProperties = {
|
|
|
79
76
|
/** The mode of the event, either fire once or fire every time the score reaches the target */
|
|
80
77
|
mode: "fire_once" | "repeatable";
|
|
81
78
|
/** Actions to execute when the event is triggered */
|
|
82
|
-
actions:
|
|
79
|
+
actions: () => void;
|
|
83
80
|
};
|
|
84
81
|
export type _InputScoreCustomEventType = {
|
|
85
82
|
/** The target score to reach to trigger the event */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA8CA,kEAIC;AA7CD,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAyChB,SAAgB,2BAA2B,CAC1C,QAAoC;IAEpC,OAAO,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAE,QAAgB,CAAC,cAAc,CAAC;AAC7E,CAAC"}
|
package/package.json
CHANGED
package/src/actions.ts
CHANGED
|
@@ -54,17 +54,13 @@ export function mapTarget(target: string | SelectorClass): SelectorClass<any, an
|
|
|
54
54
|
return Selector("@a", { tag: target }); // Assuming the target is a team name
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
export type Action = () => unknown;
|
|
58
|
-
|
|
59
57
|
export const Actions = {
|
|
60
58
|
/**
|
|
61
59
|
* Send a chat message to everyone.
|
|
62
60
|
* @param {JSONTextComponent} message - The message to send.
|
|
63
61
|
*/
|
|
64
62
|
announce: ({ message }: { message: JSONTextComponent }) => {
|
|
65
|
-
|
|
66
|
-
tellraw("@a", ["\n", { text: DISPLAY_TAG, color: "aqua" }, " | ", message, "\n"]);
|
|
67
|
-
};
|
|
63
|
+
tellraw("@a", ["\n", { text: DISPLAY_TAG, color: "aqua" }, " | ", message, "\n"]);
|
|
68
64
|
},
|
|
69
65
|
|
|
70
66
|
/**
|
|
@@ -72,7 +68,7 @@ export const Actions = {
|
|
|
72
68
|
* @param {TargetNames} target - The target to clear the inventory of.
|
|
73
69
|
*/
|
|
74
70
|
clear: ({ target }: { target: TargetNames }) => {
|
|
75
|
-
|
|
71
|
+
clear(mapTarget(target))
|
|
76
72
|
},
|
|
77
73
|
|
|
78
74
|
/**
|
|
@@ -81,7 +77,7 @@ export const Actions = {
|
|
|
81
77
|
* @param {() => void} callback - The function to execute.
|
|
82
78
|
*/
|
|
83
79
|
custom: (callback: () => void) => {
|
|
84
|
-
|
|
80
|
+
callback();
|
|
85
81
|
},
|
|
86
82
|
|
|
87
83
|
/**
|
|
@@ -116,64 +112,62 @@ export const Actions = {
|
|
|
116
112
|
absolute: boolean;
|
|
117
113
|
mode: "fill" | "line" | "pyramid";
|
|
118
114
|
}) => {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
115
|
+
// fill the region with the block
|
|
116
|
+
if (mode === "fill") {
|
|
117
|
+
const coordinates1 = absolute ? abs(x1, y1, z1) : rel(x1, y1, z1);
|
|
118
|
+
const coordinates2 = absolute ? abs(x2, y2, z2) : rel(x2, y2, z2);
|
|
119
|
+
|
|
120
|
+
fill(coordinates1, coordinates2, block);
|
|
121
|
+
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// draw a line from the first coordinate to the second coordinate
|
|
126
|
+
if (mode === "line") {
|
|
127
|
+
const dx = x2 - x1;
|
|
128
|
+
const dy = y2 - y1;
|
|
129
|
+
const dz = z2 - z1;
|
|
130
|
+
|
|
131
|
+
const length = Math.max(Math.abs(dx), Math.abs(dy), Math.abs(dz));
|
|
132
|
+
const stepX = dx / length || 0;
|
|
133
|
+
const stepY = dy / length || 0;
|
|
134
|
+
const stepZ = dz / length || 0;
|
|
135
|
+
|
|
136
|
+
for (let i = 0; i <= length; i++) {
|
|
137
|
+
const x = Math.round(x1 + stepX * i);
|
|
138
|
+
const y = Math.round(y1 + stepY * i);
|
|
139
|
+
const z = Math.round(z1 + stepZ * i);
|
|
140
|
+
setblock(absolute ? abs(x, y, z) : rel(x, y, z), block);
|
|
128
141
|
}
|
|
129
142
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
const dx = x2 - x1;
|
|
133
|
-
const dy = y2 - y1;
|
|
134
|
-
const dz = z2 - z1;
|
|
135
|
-
|
|
136
|
-
const length = Math.max(Math.abs(dx), Math.abs(dy), Math.abs(dz));
|
|
137
|
-
const stepX = dx / length || 0;
|
|
138
|
-
const stepY = dy / length || 0;
|
|
139
|
-
const stepZ = dz / length || 0;
|
|
140
|
-
|
|
141
|
-
for (let i = 0; i <= length; i++) {
|
|
142
|
-
const x = Math.round(x1 + stepX * i);
|
|
143
|
-
const y = Math.round(y1 + stepY * i);
|
|
144
|
-
const z = Math.round(z1 + stepZ * i);
|
|
145
|
-
setblock(absolute ? abs(x, y, z) : rel(x, y, z), block);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
150
145
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
146
|
+
if (mode === "pyramid") {
|
|
147
|
+
const height = Math.abs(y2);
|
|
148
|
+
const direction = Math.sign(y2); // +1 for up, -1 for down
|
|
154
149
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
150
|
+
for (let i = 0; i < height; i++) {
|
|
151
|
+
const y = y1 + i * direction;
|
|
152
|
+
const layerRadius = (height - 1 - i) * 2;
|
|
158
153
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
154
|
+
const minX = x1 - layerRadius;
|
|
155
|
+
const maxX = x1 + layerRadius;
|
|
156
|
+
const minZ = z1 - layerRadius;
|
|
157
|
+
const maxZ = z1 + layerRadius;
|
|
163
158
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}
|
|
159
|
+
for (let x = minX; x <= maxX; x++) {
|
|
160
|
+
for (let z = minZ; z <= maxZ; z++) {
|
|
161
|
+
setblock(absolute ? abs(x, y, z) : rel(x, y, z), block);
|
|
168
162
|
}
|
|
169
163
|
}
|
|
170
|
-
|
|
171
|
-
return;
|
|
172
164
|
}
|
|
173
165
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// if mode is not fill or line, throw an error
|
|
170
|
+
throw new Error(`Invalid fill mode: ${mode}`);
|
|
177
171
|
},
|
|
178
172
|
|
|
179
173
|
/**
|
|
@@ -183,7 +177,7 @@ export const Actions = {
|
|
|
183
177
|
* @param {number} count - The number of items to give.
|
|
184
178
|
*/
|
|
185
179
|
give: ({ item, target, count = 1 }: { item: ITEMS; target: TargetNames; count?: number }) => {
|
|
186
|
-
|
|
180
|
+
give(mapTarget(target), item, count);
|
|
187
181
|
},
|
|
188
182
|
|
|
189
183
|
/**
|
|
@@ -193,7 +187,7 @@ export const Actions = {
|
|
|
193
187
|
*/
|
|
194
188
|
giveLoot: ({ items, target }: { items: [{ name: ITEMS; count: number; weight: number }]; target: TargetNames }) => {
|
|
195
189
|
// sort incoming items and create a hash for table re-use
|
|
196
|
-
const lootItemsSorted = items.sort((a, b) => a.name.localeCompare(b.name));
|
|
190
|
+
const lootItemsSorted = [...items].sort((a, b) => a.name.localeCompare(b.name));
|
|
197
191
|
const lootItemsJson = JSON.stringify(lootItemsSorted);
|
|
198
192
|
const lootItemsHash = crypto.createHash("sha256").update(lootItemsJson).digest("hex");
|
|
199
193
|
const lootTableName = `loot_${lootItemsHash}`.slice(0, 16);
|
|
@@ -223,7 +217,7 @@ export const Actions = {
|
|
|
223
217
|
};
|
|
224
218
|
|
|
225
219
|
// on conflict, ignore because we can re-use duplicate loot tables
|
|
226
|
-
|
|
220
|
+
LootTable(lootTableName, lootTable, { onConflict: "ignore" }).give(mapTarget(target));
|
|
227
221
|
},
|
|
228
222
|
|
|
229
223
|
/**
|
|
@@ -232,7 +226,7 @@ export const Actions = {
|
|
|
232
226
|
* @param {boolean | number} value - The value to set the gamerule to.
|
|
233
227
|
*/
|
|
234
228
|
gamerule: ({ rule, value }: { rule: GAMERULES; value: boolean | number }) => {
|
|
235
|
-
|
|
229
|
+
gamerule(rule, value);
|
|
236
230
|
},
|
|
237
231
|
|
|
238
232
|
/**
|
|
@@ -240,7 +234,7 @@ export const Actions = {
|
|
|
240
234
|
* @param {SelectorArgument} selector - The entities to kill.
|
|
241
235
|
*/
|
|
242
236
|
kill: ({ selector }: { selector: TargetNames }) => {
|
|
243
|
-
|
|
237
|
+
kill(mapTarget(selector));
|
|
244
238
|
},
|
|
245
239
|
|
|
246
240
|
/**
|
|
@@ -250,9 +244,7 @@ export const Actions = {
|
|
|
250
244
|
* @param {TargetNames} target - The target to set the attribute for.
|
|
251
245
|
*/
|
|
252
246
|
setAttribute: ({ attribute_, value, target }: { attribute_: ATTRIBUTES; value: number; target: TargetNames }) => {
|
|
253
|
-
|
|
254
|
-
execute.as(mapTarget(target)).run.attribute("@s", attribute_).baseSet(value);
|
|
255
|
-
};
|
|
247
|
+
execute.as(mapTarget(target)).run.attribute("@s", attribute_).baseSet(value);
|
|
256
248
|
},
|
|
257
249
|
|
|
258
250
|
/**
|
|
@@ -260,7 +252,7 @@ export const Actions = {
|
|
|
260
252
|
* @param {'day' | 'night'} time_ - The time to set.
|
|
261
253
|
*/
|
|
262
254
|
setTime: ({ time }: { time: "day" | "night" }) => {
|
|
263
|
-
|
|
255
|
+
timeCmd.set(time);
|
|
264
256
|
},
|
|
265
257
|
|
|
266
258
|
/**
|
|
@@ -274,12 +266,10 @@ export const Actions = {
|
|
|
274
266
|
z: number;
|
|
275
267
|
absolute: boolean;
|
|
276
268
|
}) => {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
}
|
|
282
|
-
};
|
|
269
|
+
const coordinates = params.absolute ? abs(params.x, params.y, params.z) : rel(params.x, params.y, params.z);
|
|
270
|
+
for (let i = 0; i < params.count; i++) {
|
|
271
|
+
summon(params.entity, coordinates);
|
|
272
|
+
}
|
|
283
273
|
},
|
|
284
274
|
|
|
285
275
|
/**
|
|
@@ -287,19 +277,15 @@ export const Actions = {
|
|
|
287
277
|
* @param {string} end_state - The end state to set.
|
|
288
278
|
*/
|
|
289
279
|
setEndState: ({ endState }: { endState: string }) => {
|
|
290
|
-
|
|
291
|
-
data.modify.storage(KRADLE_STORAGE, END_STATE_KEY).set.value(endState);
|
|
292
|
-
};
|
|
280
|
+
data.modify.storage(KRADLE_STORAGE, END_STATE_KEY).set.value(endState);
|
|
293
281
|
},
|
|
294
282
|
|
|
295
283
|
/**
|
|
296
284
|
* Set a block at a specific location.
|
|
297
285
|
*/
|
|
298
286
|
setBlock: (params: { block: BLOCKS; x: number; y: number; z: number; absolute: boolean }) => {
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
setblock(coordinates, params.block);
|
|
302
|
-
};
|
|
287
|
+
const coordinates = params.absolute ? abs(params.x, params.y, params.z) : rel(params.x, params.y, params.z);
|
|
288
|
+
setblock(coordinates, params.block);
|
|
303
289
|
},
|
|
304
290
|
|
|
305
291
|
// teleport
|
|
@@ -327,7 +313,7 @@ export const Actions = {
|
|
|
327
313
|
absolute: boolean;
|
|
328
314
|
}) => {
|
|
329
315
|
const coordinates = absolute ? abs(x, y, z) : rel(x, y, z);
|
|
330
|
-
|
|
316
|
+
teleport(mapTarget(target), coordinates);
|
|
331
317
|
},
|
|
332
318
|
|
|
333
319
|
/**
|
|
@@ -336,7 +322,7 @@ export const Actions = {
|
|
|
336
322
|
* @param {TargetNames} target - The target to send the message to.
|
|
337
323
|
*/
|
|
338
324
|
tellraw: ({ message, target }: { message: string[]; target: TargetNames }) => {
|
|
339
|
-
|
|
325
|
+
tellraw(mapTarget(target), message);
|
|
340
326
|
},
|
|
341
327
|
|
|
342
328
|
// Score operations
|
|
@@ -345,9 +331,7 @@ export const Actions = {
|
|
|
345
331
|
* @param variable - The score variable to increment.
|
|
346
332
|
*/
|
|
347
333
|
increment: ({ variable }: { variable: Score }) => {
|
|
348
|
-
|
|
349
|
-
variable.add(1);
|
|
350
|
-
};
|
|
334
|
+
variable.add(1);
|
|
351
335
|
},
|
|
352
336
|
|
|
353
337
|
/**
|
|
@@ -355,9 +339,7 @@ export const Actions = {
|
|
|
355
339
|
* @param variable - The score variable to decrement.
|
|
356
340
|
*/
|
|
357
341
|
decrement: ({ variable }: { variable: Score }) => {
|
|
358
|
-
|
|
359
|
-
variable.remove(1);
|
|
360
|
-
};
|
|
342
|
+
variable.remove(1);
|
|
361
343
|
},
|
|
362
344
|
|
|
363
345
|
/**
|
|
@@ -366,9 +348,7 @@ export const Actions = {
|
|
|
366
348
|
* @param value - The value to set the score variable to, which can be a number or another score variable.
|
|
367
349
|
*/
|
|
368
350
|
set: ({ variable, value }: { variable: Score; value: number | Score }) => {
|
|
369
|
-
|
|
370
|
-
variable.set(value);
|
|
371
|
-
};
|
|
351
|
+
variable.set(value);
|
|
372
352
|
},
|
|
373
353
|
|
|
374
354
|
/**
|
|
@@ -379,7 +359,7 @@ export const Actions = {
|
|
|
379
359
|
*/
|
|
380
360
|
// WARNING: the logs must have precisely this structure to be read by the watcher. DO NOT CHANGE THE STRUCTURE.
|
|
381
361
|
log_variable: ({ message, variable, store }: { message: string; variable: Score; store: boolean }) => {
|
|
382
|
-
|
|
362
|
+
Commands.logVariable(message, variable, store);
|
|
383
363
|
},
|
|
384
364
|
|
|
385
365
|
/**
|
|
@@ -391,9 +371,7 @@ export const Actions = {
|
|
|
391
371
|
* @param {boolean} absolute - Whether the coordinates are absolute or relative.
|
|
392
372
|
*/
|
|
393
373
|
summonItem: ({ item, x, y, z, absolute }: { item: ITEMS; x: number; y: number; z: number; absolute: boolean }) => {
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
raw(`summon item ${abs}${x} ${abs}${y} ${abs}${z} {Item:{id:"${item}",Count:1b}}`);
|
|
397
|
-
};
|
|
374
|
+
const abs = absolute ? "" : "~";
|
|
375
|
+
raw(`summon item ${abs}${x} ${abs}${y} ${abs}${z} {Item:{id:"${item}",Count:1b}}`);
|
|
398
376
|
},
|
|
399
|
-
} satisfies Record<string, (...args: any[]) =>
|
|
377
|
+
} satisfies Record<string, (...args: any[]) => void | undefined>;
|
package/src/challenge.ts
CHANGED
|
@@ -294,11 +294,11 @@ export class ChallengeBase<const ROLES_NAMES extends string, const VARIABLE_NAME
|
|
|
294
294
|
});
|
|
295
295
|
|
|
296
296
|
return {
|
|
297
|
-
actions:
|
|
297
|
+
actions: () => {
|
|
298
298
|
// First action is to reset the score to 0
|
|
299
|
-
Actions.set({ variable: score, value: 0 })
|
|
300
|
-
|
|
301
|
-
|
|
299
|
+
Actions.set({ variable: score, value: 0 });
|
|
300
|
+
event.actions();
|
|
301
|
+
},
|
|
302
302
|
mode: event.mode,
|
|
303
303
|
score: score,
|
|
304
304
|
};
|
|
@@ -348,7 +348,7 @@ export class ChallengeBase<const ROLES_NAMES extends string, const VARIABLE_NAME
|
|
|
348
348
|
// For global scores, we can directly use the condition
|
|
349
349
|
comment(`Processing global custom score event ${debugName}`);
|
|
350
350
|
_.if(condition, () => {
|
|
351
|
-
actions
|
|
351
|
+
actions();
|
|
352
352
|
counter.add(1);
|
|
353
353
|
});
|
|
354
354
|
} else {
|
|
@@ -356,7 +356,7 @@ export class ChallengeBase<const ROLES_NAMES extends string, const VARIABLE_NAME
|
|
|
356
356
|
comment(`Processing individual custom score event ${debugName}`);
|
|
357
357
|
execute.as(ALL).run(getChildFunctionName(debugName), () => {
|
|
358
358
|
_.if(condition, () => {
|
|
359
|
-
actions
|
|
359
|
+
actions();
|
|
360
360
|
counter.add(1);
|
|
361
361
|
});
|
|
362
362
|
});
|
|
@@ -406,7 +406,7 @@ export class ChallengeBase<const ROLES_NAMES extends string, const VARIABLE_NAME
|
|
|
406
406
|
}
|
|
407
407
|
|
|
408
408
|
comment("3. Process the start_challenge events");
|
|
409
|
-
this._events.start_challenge?.
|
|
409
|
+
this._events.start_challenge?.();
|
|
410
410
|
|
|
411
411
|
comment("4. Schedule the init_participants function to run after 1s");
|
|
412
412
|
init_participants.schedule("1s");
|
|
@@ -447,7 +447,7 @@ export class ChallengeBase<const ROLES_NAMES extends string, const VARIABLE_NAME
|
|
|
447
447
|
}
|
|
448
448
|
|
|
449
449
|
comment("3. Process the init_participants events");
|
|
450
|
-
this._events.init_participants?.
|
|
450
|
+
this._events.init_participants?.();
|
|
451
451
|
|
|
452
452
|
comment("4. Set the game state to ON");
|
|
453
453
|
this.full_variables.game_state.score.set(GAME_STATES.ON);
|
|
@@ -479,7 +479,7 @@ export class ChallengeBase<const ROLES_NAMES extends string, const VARIABLE_NAME
|
|
|
479
479
|
})();
|
|
480
480
|
|
|
481
481
|
comment("2. Process the on_tick event");
|
|
482
|
-
this._events.on_tick?.
|
|
482
|
+
this._events.on_tick?.();
|
|
483
483
|
|
|
484
484
|
comment("3. Process custom events");
|
|
485
485
|
MCFunction("process_custom_events", () => {
|
|
@@ -520,7 +520,7 @@ export class ChallengeBase<const ROLES_NAMES extends string, const VARIABLE_NAME
|
|
|
520
520
|
this.full_variables.game_state.score.set(GAME_STATES.OFF);
|
|
521
521
|
|
|
522
522
|
comment("2. Process the end_challenge events");
|
|
523
|
-
this._events.end_challenge?.
|
|
523
|
+
this._events.end_challenge?.();
|
|
524
524
|
|
|
525
525
|
comment("3. Announce the winners");
|
|
526
526
|
for (const [role, condition] of Object.entries(this._win_conditions || {})) {
|
|
@@ -528,7 +528,7 @@ export class ChallengeBase<const ROLES_NAMES extends string, const VARIABLE_NAME
|
|
|
528
528
|
_.if(condition as ConditionType, () => {
|
|
529
529
|
Actions.announce({
|
|
530
530
|
message: [Selector("@s"), " has won the challenge!"],
|
|
531
|
-
})
|
|
531
|
+
});
|
|
532
532
|
tag("@s").add(WINNER_TAG);
|
|
533
533
|
});
|
|
534
534
|
});
|
package/src/constants.ts
CHANGED
|
@@ -101,7 +101,7 @@ export const BUILTIN_VARIABLES = {
|
|
|
101
101
|
_.if(value.greaterThan(0), () => {
|
|
102
102
|
Actions.announce({
|
|
103
103
|
message: [Selector("@s"), " has died!"],
|
|
104
|
-
})
|
|
104
|
+
});
|
|
105
105
|
value.set(0); // Reset the death count after announcing
|
|
106
106
|
});
|
|
107
107
|
},
|
|
@@ -115,10 +115,8 @@ export const BUILTIN_SCORE_EVENTS = (variables: Record<BUILTIN_VARIABLE_NAMES, S
|
|
|
115
115
|
{
|
|
116
116
|
mode: "repeatable",
|
|
117
117
|
score: variables.main_score,
|
|
118
|
-
actions:
|
|
119
|
-
()
|
|
120
|
-
|
|
121
|
-
},
|
|
122
|
-
],
|
|
118
|
+
actions: () => {
|
|
119
|
+
VISIBLE_OBJECTIVE("@s").set(variables.main_score);
|
|
120
|
+
},
|
|
123
121
|
},
|
|
124
122
|
] satisfies _InputCustomEventType[];
|
package/src/types.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Score } from "sandstone";
|
|
2
2
|
import type { OBJECTIVE_CRITERION } from "sandstone/arguments/generated";
|
|
3
3
|
import type { AdvancementTriggers } from "sandstone/arguments/resources/AdvancementTriggers";
|
|
4
|
-
import type { Action } from "./actions";
|
|
5
4
|
import type { BUILTIN_VARIABLE_NAMES, POSSIBLE_SCENARIO_EVENTS } from "./constants";
|
|
6
5
|
|
|
7
6
|
export { Actions } from "./actions";
|
|
@@ -77,7 +76,7 @@ export type _BaseConfig<ROLE_NAMES extends string, VARIABLE_NAMES extends string
|
|
|
77
76
|
custom_variables: Record<VARIABLE_NAMES, _InputVariableType<VARIABLE_NAMES | BUILTIN_VARIABLE_NAMES>>;
|
|
78
77
|
};
|
|
79
78
|
|
|
80
|
-
export type _ScenarioEvents = Partial<Record<POSSIBLE_SCENARIO_EVENTS,
|
|
79
|
+
export type _ScenarioEvents = Partial<Record<POSSIBLE_SCENARIO_EVENTS, () => void>>;
|
|
81
80
|
|
|
82
81
|
export type Roles<ROLES_NAMES extends string = string> = {
|
|
83
82
|
[role in ROLES_NAMES]: role;
|
|
@@ -106,7 +105,7 @@ type _InputEventCommonProperties = {
|
|
|
106
105
|
/** The mode of the event, either fire once or fire every time the score reaches the target */
|
|
107
106
|
mode: "fire_once" | "repeatable";
|
|
108
107
|
/** Actions to execute when the event is triggered */
|
|
109
|
-
actions:
|
|
108
|
+
actions: () => void;
|
|
110
109
|
};
|
|
111
110
|
|
|
112
111
|
export type _InputScoreCustomEventType = {
|