@kradle/challenges-sdk 0.9.0 → 0.10.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/CHANGELOG.md CHANGED
@@ -17,6 +17,23 @@ also hand-edit this file or the [Unreleased] section at any time.
17
17
 
18
18
  ## [Unreleased]
19
19
 
20
+ ## [0.10.0] - 2026-07-17
21
+
22
+ ### Changed
23
+
24
+ - `start_challenge` now performs all setup in a single tick. The separate `init_participants` function that ran one second later is removed; its handler (if defined) runs in the same tick, immediately after the `start_challenge` handler.
25
+ - The implicit inventory clear now runs before user events, so items given in `start_challenge` survive it.
26
+
27
+ ### Deprecated
28
+
29
+ - `init_participants` event. Use `start_challenge` instead. Using `init_participants` logs a build-time deprecation warning.
30
+
31
+ ### Fixed
32
+
33
+ - `.end_condition()` now defers callback evaluation to `build()`, fixing the documented bridge pattern where a variable captured from an event handler was always `undefined` at chain time.
34
+ - **Breaking:** `.end_condition()` callbacks that return `undefined` now throw at build time instead of silently falling back to the tick-limit end condition. Either omit `.end_condition()` entirely or return a `ConditionType`.
35
+ - `LLM_README.md` now documents that the `.end_condition()` callback must return a `ConditionType`.
36
+
20
37
  ## [0.9.0] - 2026-07-16
21
38
 
22
39
  ### Removed
@@ -71,7 +88,8 @@ also hand-edit this file or the [Unreleased] section at any time.
71
88
  - Voting primitives (`votedFor`, `promptVote`, `allVotesIn`, `assignDefaultVotes`) for challenges that use discuss-then-vote-then-act phases as an alternative to pad-based voting.
72
89
  - Build-time validation of vote IDs and options against `KRADLE_CHALLENGE_VOTING_OPTIONS` (when set), matching the existing `getLocation`/`setEndState` pattern. `promptVote` also validates each announced option against the declared `votingOptions`.
73
90
 
74
- [Unreleased]: https://github.com/Kradle-ai/challenges-sdk/compare/v0.9.0...HEAD
91
+ [Unreleased]: https://github.com/Kradle-ai/challenges-sdk/compare/v0.10.0...HEAD
92
+ [0.10.0]: https://github.com/Kradle-ai/challenges-sdk/compare/v0.9.0...v0.10.0
75
93
  [0.9.0]: https://github.com/Kradle-ai/challenges-sdk/compare/v0.8.1...v0.9.0
76
94
  [0.8.1]: https://github.com/Kradle-ai/challenges-sdk/compare/v0.8.0...v0.8.1
77
95
  [0.8.0]: https://github.com/Kradle-ai/challenges-sdk/compare/v0.7.2...v0.8.0
package/LLM_README.md CHANGED
@@ -162,7 +162,7 @@ interface _BaseConfig<ROLES, VARIABLES> {
162
162
  spawnPoint?: { x: number; y: number; z: number } | SelectorClass;
163
163
 
164
164
  // Optional: Per-rule overrides for the implicit setup the SDK applies
165
- // inside start_challenge / init_participants. See "Implicit setup" below.
165
+ // inside start_challenge. See "Implicit setup" below.
166
166
  defaults?: {
167
167
  time?: "day" | "noon" | "night" | "midnight" | false; // default: "day"
168
168
  daylightCycle?: boolean; // default: false
@@ -176,10 +176,12 @@ interface _BaseConfig<ROLES, VARIABLES> {
176
176
 
177
177
  ### Implicit setup (`defaults`)
178
178
 
179
- `createChallenge` applies a small, predictable setup at the top of `start_challenge` and `init_participants` so user code doesn't have to:
179
+ `createChallenge` applies a small, predictable setup inside `start_challenge`, *before* your event handlers run, so user code doesn't have to:
180
180
 
181
- - **`start_challenge`** — `time set day`, `gamerule doDaylightCycle false`, `gamerule doMobSpawning false`, `gamerule naturalRegeneration true`.
182
- - **`init_participants`** — `clear @a[participant]`, `attribute generic.max_health base set 20`.
181
+ - **World** — `time set day`, `gamerule doDaylightCycle false`, `gamerule doMobSpawning false`, `gamerule naturalRegeneration true`.
182
+ - **Per participant** — `clear @a[participant]`, `attribute generic.max_health base set 20`.
183
+
184
+ Because the inventory clear runs before your `start_challenge` handler, items you give there survive it.
183
185
 
184
186
  Override per-rule when needed:
185
187
 
@@ -248,8 +250,8 @@ createChallenge(config)
248
250
  ```typescript
249
251
  .events((variables: Variables, roles: Roles) => {
250
252
  return {
251
- start_challenge?: () => void; // Runs once when game starts
252
- init_participants?: () => void; // Runs once per player after start
253
+ start_challenge?: () => void; // Runs once when game starts (all setup goes here)
254
+ init_participants?: () => void; // DEPRECATED: runs same tick, right after start_challenge
253
255
  on_tick?: () => void; // Runs every tick for each player
254
256
  end_challenge?: () => void; // Runs once when game ends
255
257
  };
@@ -309,7 +311,7 @@ For triggered side effects keyed off score thresholds — an `announce` when sco
309
311
 
310
312
  #### `.end_condition(callback)`
311
313
 
312
- Defines when the game should end. The challenge already auto-ends after `GAME_DURATION` ticks if specified — `.end_condition()` adds an extra termination criterion that's OR'd with the timer. The most common pattern is to capture the return of `Actions.setEndStates(...)` from `on_tick` and feed it back here, so the game ends as soon as any end-state has been applied.
314
+ Defines when the game should end. The challenge already auto-ends after `GAME_DURATION` ticks if specified — `.end_condition()` adds an extra termination criterion that's OR'd with the timer. The most common pattern is to capture the return of `Actions.setEndStates(...)` from `on_tick` and feed it back here, so the game ends as soon as any end-state has been applied. The callback is evaluated during the build, after the event closures have run, so that captured value is already assigned.
313
315
 
314
316
  ```typescript
315
317
  .end_condition((variables: Variables, roles: Roles) => {
@@ -317,6 +319,8 @@ Defines when the game should end. The challenge already auto-ends after `GAME_DU
317
319
  })
318
320
  ```
319
321
 
322
+ The callback must return a `ConditionType`; returning `undefined` or `null` throws at build time. If you don't need an extra criterion, omit `.end_condition()` entirely.
323
+
320
324
  #### `.win_conditions(callback)`
321
325
 
322
326
  ```typescript
@@ -504,27 +508,26 @@ All lifecycle events run globally (not per-player).
504
508
 
505
509
  #### `start_challenge`
506
510
 
507
- Runs once when the challenge starts. Use for global setup.
511
+ Runs once when the challenge starts. Put ALL setup here — global and per-player. By the time it runs, every participant is connected and tagged, all variables (global and individual) are reset to their defaults, `player_number` is assigned (1, 2, 3, …), and the implicit setup (`defaults`) has been applied. Use `forEveryPlayer()` for per-player logic.
508
512
 
509
513
  ```typescript
510
514
  start_challenge: () => {
511
- Actions.setTime({ time: "day" });
512
- Actions.gamerule({ rule: "doDaylightCycle", value: false });
513
515
  Actions.announce({ message: "Game starting!" });
516
+ Actions.give({ target: "all", item: "minecraft:diamond_sword", count: 1 });
517
+ // Per-player placement, e.g. teleport player N to SPAWNS[N-1]:
518
+ forEveryPlayer(() => {
519
+ for (let i = 0; i < SPAWNS.length; i++) {
520
+ _.if(variables.player_number.equalTo(i + 1), () => {
521
+ Actions.teleport({ target: "self", ...SPAWNS[i], absolute: true });
522
+ });
523
+ }
524
+ });
514
525
  }
515
526
  ```
516
527
 
517
528
  #### `init_participants`
518
529
 
519
- Runs 1 second after start_challenge. Use for player setup. It still runs globally.
520
-
521
- ```typescript
522
- init_participants: () => {
523
- Actions.give({ target: "all", item: "minecraft:diamond_sword", count: 1 });
524
- Actions.setAttribute({ target: "all", attribute_: "generic.max_health", value: 40 });
525
- Actions.teleport({ target: "all", x: 0, y: 100, z: 0, absolute: true });
526
- }
527
- ```
530
+ **DEPRECATED.** Runs in the same tick as `start_challenge`, immediately after it — there is no longer any delay or difference in guarantees between the two. Kept only for backward compatibility (using it logs a build-time warning). Move its code to the end of `start_challenge`.
528
531
 
529
532
  #### `on_tick`
530
533
 
@@ -764,7 +767,7 @@ Actions.give({ target: "red", item: "minecraft:iron_sword", count: 1 }); // Tar
764
767
 
765
768
  #### `Actions.giveAll(items)`
766
769
 
767
- Give every participant a list of items in one call — replaces the run of `Actions.give({ target: "all", … })` calls that opens most multi-player `init_participants`. `count` defaults to 1. For role-specific equipment, use plain `Actions.give({ target: roleName, … })`.
770
+ Give every participant a list of items in one call — replaces the run of `Actions.give({ target: "all", … })` calls that opens most multi-player `start_challenge` handlers. `count` defaults to 1. For role-specific equipment, use plain `Actions.give({ target: roleName, … })`.
768
771
 
769
772
  ```typescript
770
773
  // PvP standard kit:
@@ -1808,8 +1811,6 @@ createChallenge({
1808
1811
  start_challenge: () => {
1809
1812
  Actions.setTime({ time: "day" });
1810
1813
  Actions.announce({ message: "First to kill 2 pigs wins!" });
1811
- },
1812
- init_participants: () => {
1813
1814
  Actions.give({ target: "all", item: "minecraft:iron_sword", count: 1 });
1814
1815
  },
1815
1816
  }))
@@ -1882,8 +1883,6 @@ createChallenge({
1882
1883
  start_challenge: () => {
1883
1884
  Actions.setTime({ time: "day" });
1884
1885
  Actions.announce({ message: "Climb as high as you can!" });
1885
- },
1886
- init_participants: () => {
1887
1886
  Actions.give({ target: "all", item: "minecraft:cobblestone", count: 64 });
1888
1887
  Actions.give({ target: "all", item: "minecraft:cobblestone", count: 64 });
1889
1888
  },
@@ -1933,8 +1932,6 @@ createChallenge({
1933
1932
  Actions.setTime({ time: "day" });
1934
1933
  Actions.gamerule({ rule: "naturalRegeneration", value: false });
1935
1934
  Actions.announce({ message: "Last player standing wins!" });
1936
- },
1937
- init_participants: () => {
1938
1935
  Actions.give({ target: "all", item: "minecraft:stone_sword", count: 1 });
1939
1936
  Actions.give({ target: "all", item: "minecraft:leather_chestplate", count: 1 });
1940
1937
  Actions.give({ target: "all", item: "minecraft:cooked_beef", count: 10 });
@@ -1987,8 +1984,6 @@ createChallenge({
1987
1984
  start_challenge: () => {
1988
1985
  Actions.setTime({ time: "day" });
1989
1986
  Actions.announce({ message: "Hunters: Kill 2 pigs! Protectors: Stop them!" });
1990
- },
1991
- init_participants: () => {
1992
1987
  // Different items based on role would be set via role-specific logic
1993
1988
  Actions.give({ target: "all", item: "minecraft:wooden_sword", count: 1 });
1994
1989
  },
@@ -2051,8 +2046,6 @@ createChallenge({
2051
2046
  .events(() => ({
2052
2047
  start_challenge: () => {
2053
2048
  Actions.announce({ message: "Capture the enemy flag and return to base!" });
2054
- },
2055
- init_participants: () => {
2056
2049
  Actions.give({ target: "all", item: "minecraft:iron_sword", count: 1 });
2057
2050
  },
2058
2051
  }))
@@ -2245,7 +2238,7 @@ This is how saboteur ends up correctly attributing the win to the saboteur parti
2245
2238
 
2246
2239
  ### Pattern 12: Sequential turn-taking (one player acts at a time)
2247
2240
 
2248
- For games where only one participant should act per tick — like cascade's information-cascade voting where each voter must wait their turn — gate the action updater on `player_number == current_voter`. The SDK's built-in `player_number` is per-player (1, 2, 3, … assigned in init_participants); maintain a global `current_voter` that you bump when a player completes their turn:
2241
+ For games where only one participant should act per tick — like cascade's information-cascade voting where each voter must wait their turn — gate the action updater on `player_number == current_voter`. The SDK's built-in `player_number` is per-player (1, 2, 3, … assigned before `start_challenge` events run); maintain a global `current_voter` that you bump when a player completes their turn:
2249
2242
 
2250
2243
  ```typescript
2251
2244
  custom_variables: {
@@ -2338,7 +2331,7 @@ custom_variables: {
2338
2331
  },
2339
2332
  },
2340
2333
  },
2341
- // In init_participants, tell each player their player_number — without it, agents can't tell
2334
+ // In start_challenge, tell each player their player_number — without it, agents can't tell
2342
2335
  // which "Voter 2's turn" announcement is theirs and can't navigate to the right phase-2 room.
2343
2336
  // One tellraw to "all" with player_number embedded does it (each recipient sees their own value):
2344
2337
  // Actions.tellraw({ target: "all", message: ["Your player number is ", player_number] });
package/README.md CHANGED
@@ -170,17 +170,18 @@ Lifecycle events are triggered once on specific occasions.
170
170
  ```typescript
171
171
  .events((variables, roles) => ({
172
172
  start_challenge: () => {
173
- // Runs once when the challenge starts
173
+ // Runs once when the challenge starts. All setup goes here — every
174
+ // participant is already connected, all variables are reset to their
175
+ // defaults, and player_number is assigned before this runs.
174
176
  Actions.setTime({ time: "day" });
175
177
  Actions.announce({ message: "Game starting!" });
176
- },
177
-
178
- init_participants: () => {
179
- // Runs 1s after the challenge starts
180
178
  Actions.give({ target: "all", item: "minecraft:diamond_sword", count: 1 });
181
179
  Actions.setAttribute({ target: "all", attribute_: "generic.max_health", value: 40 });
182
180
  },
183
181
 
182
+ // init_participants is DEPRECATED: it runs in the same tick as
183
+ // start_challenge, immediately after it. Move its code to start_challenge.
184
+
184
185
  on_tick: () => {
185
186
  // Runs once every tick
186
187
  },
@@ -498,8 +499,6 @@ createChallenge({
498
499
  start_challenge: () => {
499
500
  Actions.setTime({ time: "day" });
500
501
  Actions.announce({ message: "Last player standing wins!" });
501
- },
502
- init_participants: () => {
503
502
  Actions.give({ target: "all", item: "minecraft:stone_sword", count: 1 });
504
503
  Actions.give({ target: "all", item: "minecraft:leather_chestplate", count: 1 });
505
504
  },
package/dist/actions.d.ts CHANGED
@@ -696,7 +696,7 @@ export declare const Actions: {
696
696
  /**
697
697
  * Give every participant a list of items in one call. Replaces the
698
698
  * sequence of `Actions.give({ target: "all", item: …, count: … })` calls
699
- * that opens nearly every multi-player init_participants (castle-ctf has
699
+ * that opens nearly every multi-player start_challenge (castle-ctf has
700
700
  * six of them for the iron-sword + 4 armor pieces + food loadout).
701
701
  *
702
702
  * @example PvP standard kit:
package/dist/actions.js CHANGED
@@ -929,7 +929,7 @@ exports.Actions = {
929
929
  /**
930
930
  * Give every participant a list of items in one call. Replaces the
931
931
  * sequence of `Actions.give({ target: "all", item: …, count: … })` calls
932
- * that opens nearly every multi-player init_participants (castle-ctf has
932
+ * that opens nearly every multi-player start_challenge (castle-ctf has
933
933
  * six of them for the iron-sword + 4 armor pieces + food loadout).
934
934
  *
935
935
  * @example PvP standard kit:
@@ -8,7 +8,7 @@ export declare class ChallengeBase<const ROLES_NAMES extends string, const VARIA
8
8
  private variablesPreviousValues;
9
9
  private _events;
10
10
  private _userInputCustomEvents;
11
- private _end_condition;
11
+ private _end_condition_provider;
12
12
  private _win_conditions;
13
13
  private name;
14
14
  private kradle_challenge_path;
@@ -1 +1 @@
1
- {"version":3,"file":"challenge.d.ts","sourceRoot":"","sources":["../src/challenge.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAcpD,OAAO,EACN,KAAK,WAAW,EAEhB,KAAK,qBAAqB,EAG1B,KAAK,eAAe,EAOpB,KAAK,KAAK,EAEV,KAAK,SAAS,EACd,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AAoDjE,qBAAa,aAAa,CAAC,KAAK,CAAC,WAAW,SAAS,MAAM,EAAE,KAAK,CAAC,cAAc,SAAS,MAAM;IAC/F,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,uBAAuB,CAAoC;IACnE,OAAO,CAAC,OAAO,CAAuB;IAGtC,OAAO,CAAC,sBAAsB,CAAoC;IAClE,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,eAAe,CAAiD;IAExE,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,gBAAgB,CAA0B;gBAEtC,MAAM,EAAE,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC;IAkF5D,OAAO,KAAK,SAAS,GAMpB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,qBAAqB;IAQ7B,MAAM,CACL,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,eAAe,GAC1F,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,GAAG,gBAAgB,CAAC;IAKnE;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB,aAAa,CACZ,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,qBAAqB,EAAE,GACzG,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,gBAAgB,CAAC;IAgDjD,aAAa,CACZ,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,aAAa,GAC5F,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAM/B,cAAc,CACb,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC;IAMnH;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAmC/B;;OAEG;IACH,OAAO,CAAC,KAAK;CAiTb;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,UAAU,SAAS,MAAM,EAAE,KAAK,CAAC,cAAc,SAAS,MAAM,EACnG,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,GAC7C,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,QAAQ,CAAC,CAE3D"}
1
+ {"version":3,"file":"challenge.d.ts","sourceRoot":"","sources":["../src/challenge.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAcpD,OAAO,EACN,KAAK,WAAW,EAEhB,KAAK,qBAAqB,EAG1B,KAAK,eAAe,EAOpB,KAAK,KAAK,EAEV,KAAK,SAAS,EACd,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AAoDjE,qBAAa,aAAa,CAAC,KAAK,CAAC,WAAW,SAAS,MAAM,EAAE,KAAK,CAAC,cAAc,SAAS,MAAM;IAC/F,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,uBAAuB,CAAoC;IACnE,OAAO,CAAC,OAAO,CAAuB;IAGtC,OAAO,CAAC,sBAAsB,CAAoC;IAClE,OAAO,CAAC,uBAAuB,CAElB;IACb,OAAO,CAAC,eAAe,CAAiD;IAExE,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,gBAAgB,CAA0B;gBAEtC,MAAM,EAAE,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC;IAkF5D,OAAO,KAAK,SAAS,GAMpB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,qBAAqB;IAQ7B,MAAM,CACL,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,eAAe,GAC1F,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,GAAG,gBAAgB,CAAC;IAanE;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB,aAAa,CACZ,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,qBAAqB,EAAE,GACzG,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,gBAAgB,CAAC;IAgDjD,aAAa,CACZ,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,aAAa,GAC5F,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAQ/B,cAAc,CACb,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC;IAMnH;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAmC/B;;OAEG;IACH,OAAO,CAAC,KAAK;CA0Sb;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,UAAU,SAAS,MAAM,EAAE,KAAK,CAAC,cAAc,SAAS,MAAM,EACnG,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,GAC7C,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,QAAQ,CAAC,CAE3D"}
package/dist/challenge.js CHANGED
@@ -94,7 +94,7 @@ class ChallengeBase {
94
94
  _events = {};
95
95
  /* The custom score events provided by the user, still in input type */
96
96
  _userInputCustomEvents = [];
97
- _end_condition;
97
+ _end_condition_provider;
98
98
  _win_conditions;
99
99
  name;
100
100
  kradle_challenge_path;
@@ -223,6 +223,12 @@ class ChallengeBase {
223
223
  }
224
224
  events(events) {
225
225
  this._events = events(this.variables, this.roles);
226
+ if (this._events.init_participants) {
227
+ console.warn(`[kradle] Warning: the "init_participants" event is deprecated — it now runs in the same tick as ` +
228
+ `"start_challenge", immediately after it. Per-player state (player_number, individual variable ` +
229
+ `defaults) is already initialized when "start_challenge" runs, so move your setup there ` +
230
+ `(use forEveryPlayer() for per-player logic).`);
231
+ }
226
232
  return this;
227
233
  }
228
234
  /**
@@ -285,7 +291,9 @@ class ChallengeBase {
285
291
  return this;
286
292
  }
287
293
  end_condition(condition) {
288
- this._end_condition = condition?.(this.variables, this.roles);
294
+ // Deferred to build(): an eager call would read undefined for the
295
+ // documented endReached bridge pattern (KRA-1851).
296
+ this._end_condition_provider = condition;
289
297
  return this;
290
298
  }
291
299
  win_conditions(condition) {
@@ -386,41 +394,12 @@ class ChallengeBase {
386
394
  runEveryTick: true,
387
395
  });
388
396
  }
397
+ // All setup — global AND per-player — runs in a single tick: the arena
398
+ // only invokes start_challenge at ALL_CONNECTED, when every participant
399
+ // is already connected and tagged. See AGENTS.md "SINGLE-TICK SETUP".
389
400
  (0, sandstone_1.MCFunction)("start_challenge", () => {
390
- (0, sandstone_1.comment)("1. Setup all the global variables to their default values.");
391
- if (this.game_duration !== undefined) {
392
- (0, sandstone_1.comment)(" This includes the game timer!");
393
- this.variables.game_timer.set(this.game_duration);
394
- }
395
- for (const variable of Object.values(this.full_variables)) {
396
- if (variable.type === "global" && variable.default !== undefined) {
397
- variable.score.set(variable.default);
398
- }
399
- }
400
- (0, sandstone_1.tag)(constants_1.ALL).remove(constants_1.WINNER_TAG);
401
- (0, sandstone_1.comment)("2. Set up test mode if it's enabled - needs to run here so the tester player is tagged");
402
- if (testmode_1.test_mode_enabled) {
403
- (0, testmode_1.set_up_test_mode)();
404
- }
405
- if (this.resolvedDefaults !== null) {
406
- (0, sandstone_1.comment)("2.5. Apply implicit world setup (overridable via the `defaults` config field).", " Per-rule overrides let wave-defense / boss / PvP designs opt out of individual rules.");
407
- const d = this.resolvedDefaults;
408
- const t = d.time;
409
- if (t !== false)
410
- sandstone_1.time.set(t);
411
- (0, sandstone_1.gamerule)("doDaylightCycle", d.daylightCycle);
412
- (0, sandstone_1.gamerule)("doMobSpawning", d.mobSpawning);
413
- (0, sandstone_1.gamerule)("naturalRegeneration", d.naturalRegeneration);
414
- }
415
- (0, sandstone_1.comment)("3. Process the start_challenge events");
416
- this._events.start_challenge?.();
417
- (0, sandstone_1.comment)("4. Schedule the init_participants function to run after 1s");
418
- init_participants.schedule("1s");
419
- (0, sandstone_1.comment)("5. Display the game objective");
420
- sandstone_1.scoreboard.objectives.setDisplay("sidebar", constants_1.VISIBLE_OBJECTIVE.name);
421
- });
422
- const init_participants = (0, sandstone_1.MCFunction)("init_participants", () => {
423
- (0, sandstone_1.comment)("1. Setup all individual variables to their default values.");
401
+ (0, sandstone_1.comment)("1. Setup all variables (global and individual) to their default values,");
402
+ (0, sandstone_1.comment)(" along with their previous-value mirrors.");
424
403
  for (const [name, variable] of Object.entries(this.full_variables)) {
425
404
  const previousValue = this.getPreviousValueScore(name);
426
405
  if (typeof previousValue === "undefined") {
@@ -437,14 +416,19 @@ class ChallengeBase {
437
416
  previousValue.set(variable.default);
438
417
  }
439
418
  }
440
- (0, sandstone_1.comment)("1.5. Assign player_number to every participant *before* user events run.", " The on_tick updater skips work while game_state != ON (set at step 4),", " so without this step every user-side `scores: { player_number: N }`", " selector in step 3 would silently match nobody (all players still at", " default 0). Note: relies on step 1 having reset player_number to 0 for", " each participant — without the reset, the score has no entry at all", " and `if score @s player_number matches 0` returns false (no-entry != 0).");
419
+ (0, sandstone_1.tag)(constants_1.ALL).remove(constants_1.WINNER_TAG);
420
+ (0, sandstone_1.comment)("2. Set up test mode if it's enabled - needs to run here so the tester player is tagged");
421
+ if (testmode_1.test_mode_enabled) {
422
+ (0, testmode_1.set_up_test_mode)();
423
+ }
424
+ (0, sandstone_1.comment)("3. Assign player_number to every participant *before* user events run.", " The on_tick updater skips work while game_state != ON (set at step 7),", " so without this step every user-side `scores: { player_number: N }`", " selector in step 6 would silently match nobody (all players still at", " default 0). Note: relies on step 1 having reset player_number to 0 for", " each participant — without the reset, the score has no entry at all", " and `if score @s player_number matches 0` returns false (no-entry != 0).");
441
425
  const playerNumberVar = this.full_variables.player_number;
442
426
  if (playerNumberVar?.updater) {
443
- sandstone_1.execute.as(constants_1.ALL).run("init_participants/assign_player_numbers", () => {
427
+ sandstone_1.execute.as(constants_1.ALL).run("start_challenge/assign_player_numbers", () => {
444
428
  playerNumberVar.updater?.(playerNumberVar.score, this.variables);
445
429
  });
446
430
  }
447
- (0, sandstone_1.comment)("2. Set the events fire counters to 0");
431
+ (0, sandstone_1.comment)("4. Set the events fire counters to 0");
448
432
  for (const event of customScoreEvents) {
449
433
  // We could make the distinction between global and individual counters,
450
434
  // but it just works to make all players set event fires to 0
@@ -453,8 +437,14 @@ class ChallengeBase {
453
437
  });
454
438
  }
455
439
  if (this.resolvedDefaults !== null) {
456
- (0, sandstone_1.comment)("2.5. Apply implicit per-participant init (overridable via the `defaults` config field).");
440
+ (0, sandstone_1.comment)("5. Apply implicit setup (overridable via the `defaults` config field).", " Per-rule overrides let wave-defense / boss / PvP designs opt out of", " individual rules. Runs BEFORE user events, so items given in the", " user's start_challenge handler survive the inventory clear.");
457
441
  const d = this.resolvedDefaults;
442
+ const t = d.time;
443
+ if (t !== false)
444
+ sandstone_1.time.set(t);
445
+ (0, sandstone_1.gamerule)("doDaylightCycle", d.daylightCycle);
446
+ (0, sandstone_1.gamerule)("doMobSpawning", d.mobSpawning);
447
+ (0, sandstone_1.gamerule)("naturalRegeneration", d.naturalRegeneration);
458
448
  if (d.clearInventory)
459
449
  (0, sandstone_1.clear)(constants_1.ALL);
460
450
  if (d.maxHealth !== false) {
@@ -465,11 +455,15 @@ class ChallengeBase {
465
455
  });
466
456
  }
467
457
  }
468
- (0, sandstone_1.comment)("3. Process the init_participants events");
458
+ (0, sandstone_1.comment)("6. Process the start_challenge events, then the (deprecated) init_participants");
459
+ (0, sandstone_1.comment)(" events — same tick, immediately after. Per-player state (player_number,");
460
+ (0, sandstone_1.comment)(" individual variable defaults) is fully initialized before both.");
461
+ this._events.start_challenge?.();
469
462
  this._events.init_participants?.();
470
- (0, sandstone_1.comment)("4. Set the game state to ON");
463
+ (0, sandstone_1.comment)("7. Set the game state to ON");
471
464
  this.full_variables.game_state.score.set(constants_1.GAME_STATES.ON);
472
- //tellraw("@a", [`${DISPLAY_TAG}The challenge has started!`]);
465
+ (0, sandstone_1.comment)("8. Display the game objective");
466
+ sandstone_1.scoreboard.objectives.setDisplay("sidebar", constants_1.VISIBLE_OBJECTIVE.name);
473
467
  });
474
468
  // Defined once at module scope so end_challenge can replay the
475
469
  // updaters one final time before the watcher snapshots scores —
@@ -519,12 +513,22 @@ class ChallengeBase {
519
513
  }
520
514
  });
521
515
  (0, sandstone_1.comment)("5. Check end conditions");
516
+ // Evaluated here — after this._events.on_tick?.() above — so a
517
+ // condition bridged out of the on_tick closure (the documented
518
+ // endReached pattern for Actions.setEndStates) is already assigned.
519
+ let userEndCondition;
520
+ if (this._end_condition_provider) {
521
+ userEndCondition = this._end_condition_provider(this.variables, this.roles);
522
+ if (userEndCondition == null) {
523
+ throw new Error("end_condition callback returned undefined — return a ConditionType, or omit .end_condition() to end only via GAME_DURATION.");
524
+ }
525
+ }
522
526
  let endCondition;
523
- if (this._end_condition && this.game_duration !== undefined) {
524
- endCondition = sandstone_1._.or(this._end_condition, this.variables.game_timer.equalTo(this.game_duration));
527
+ if (userEndCondition !== undefined && this.game_duration !== undefined) {
528
+ endCondition = sandstone_1._.or(userEndCondition, this.variables.game_timer.equalTo(this.game_duration));
525
529
  }
526
- else if (this._end_condition) {
527
- endCondition = this._end_condition;
530
+ else if (userEndCondition !== undefined) {
531
+ endCondition = userEndCondition;
528
532
  }
529
533
  else if (this.game_duration !== undefined) {
530
534
  endCondition = this.variables.game_timer.equalTo(this.game_duration);
@@ -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":"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"}
@@ -1,6 +1,12 @@
1
1
  import { type Score } from "sandstone";
2
2
  /**
3
3
  * All possible events that can be defined in a challenge.
4
+ *
5
+ * `init_participants` is DEPRECATED: it now runs in the same tick as
6
+ * `start_challenge`, immediately after it. All per-player state
7
+ * (player_number, individual variable defaults, inventory clear) is already
8
+ * initialized before `start_challenge` fires, so put setup — including
9
+ * per-player setup via `forEveryPlayer()` — directly in `start_challenge`.
4
10
  */
5
11
  export type POSSIBLE_SCENARIO_EVENTS = "start_challenge" | "init_participants" | "end_challenge" | "on_tick";
6
12
  export declare const VISIBLE_OBJECTIVE: import("sandstone").ObjectiveInstance<string | undefined>;
@@ -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;;;;;yBAUL,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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,KAAK,EAAY,MAAM,WAAW,CAAC;AAIxE;;;;;;;;GAQG;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;;;;;yBAUL,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"}
@@ -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
@@ -77,13 +77,12 @@ export type _BaseConfig<ROLE_NAMES extends string, VARIABLE_NAMES extends string
77
77
  spawnPoint?: SpawnPoint;
78
78
  /**
79
79
  * Per-challenge overrides for the implicit setup the SDK applies inside
80
- * `start_challenge` and `init_participants`. Defaults are sensible for
81
- * most challenges, so this can usually be omitted entirely.
80
+ * `start_challenge`, before user event handlers run. Defaults are sensible
81
+ * for most challenges, so this can usually be omitted entirely.
82
82
  *
83
83
  * Pass partial overrides to disable individual rules — e.g.
84
84
  * `{ mobSpawning: true }` for a wave-defense challenge that needs
85
- * natural mob spawns, or `{ clearInventory: false }` for a PvP
86
- * challenge that pre-stocks inventory in `start_challenge`.
85
+ * natural mob spawns.
87
86
  *
88
87
  * Pass `false` to disable everything — the user is responsible for
89
88
  * setting up time, gamerules, and per-player init themselves.
@@ -93,8 +92,8 @@ export type _BaseConfig<ROLE_NAMES extends string, VARIABLE_NAMES extends string
93
92
  defaults?: ChallengeDefaults | false;
94
93
  };
95
94
  /**
96
- * Knobs for the implicit setup the SDK runs at the top of `start_challenge`
97
- * and `init_participants`. Each field is optional and falls back to the
95
+ * Knobs for the implicit setup the SDK runs inside `start_challenge`,
96
+ * before user event handlers. Each field is optional and falls back to the
98
97
  * SDK-level default; pass `false` for a boolean field to disable that rule.
99
98
  */
100
99
  export type ChallengeDefaults = {
@@ -122,9 +121,8 @@ export type ChallengeDefaults = {
122
121
  */
123
122
  naturalRegeneration?: boolean;
124
123
  /**
125
- * Clear every participant's inventory at the top of `init_participants`.
126
- * Override to `false` for PvP challenges that pre-stock inventory
127
- * during `start_challenge`.
124
+ * Clear every participant's inventory. Runs before user event handlers,
125
+ * so items given in the `start_challenge` handler survive it.
128
126
  * @default true
129
127
  */
130
128
  clearInventory?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
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":";;;AAqDA,kEAIC;AAkID,4DAWC;AAhMD,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AA+ChB,SAAgB,2BAA2B,CAC1C,QAAoC;IAEpC,OAAO,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAE,QAAgB,CAAC,cAAc,CAAC;AAC7E,CAAC;AAoHY,QAAA,0BAA0B,GAAqB;IAC3D,IAAI,EAAE,KAAK;IACX,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,KAAK;IAClB,mBAAmB,EAAE,IAAI;IACzB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,EAAE;CACb,CAAC;AAEF;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,KAA4C;IACpF,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,kCAA0B,CAAC;IAC3D,OAAO;QACN,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,kCAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;QAC7E,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,kCAA0B,CAAC,aAAa;QAC9E,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,kCAA0B,CAAC,WAAW;QACxE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,IAAI,kCAA0B,CAAC,mBAAmB;QAChG,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,kCAA0B,CAAC,cAAc;QACjF,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,kCAA0B,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;KACjG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAqDA,kEAIC;AAgID,4DAWC;AA9LD,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AA+ChB,SAAgB,2BAA2B,CAC1C,QAAoC;IAEpC,OAAO,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAE,QAAgB,CAAC,cAAc,CAAC;AAC7E,CAAC;AAkHY,QAAA,0BAA0B,GAAqB;IAC3D,IAAI,EAAE,KAAK;IACX,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,KAAK;IAClB,mBAAmB,EAAE,IAAI;IACzB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,EAAE;CACb,CAAC;AAEF;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,KAA4C;IACpF,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,kCAA0B,CAAC;IAC3D,OAAO;QACN,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,kCAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;QAC7E,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,kCAA0B,CAAC,aAAa;QAC9E,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,kCAA0B,CAAC,WAAW;QACxE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,IAAI,kCAA0B,CAAC,mBAAmB;QAChG,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,kCAA0B,CAAC,cAAc;QACjF,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,kCAA0B,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;KACjG,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kradle/challenges-sdk",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "Kradle's challenges SDK - Create Minecraft datapack-based challenges",
5
5
  "keywords": [
6
6
  "kradle",
@@ -22,6 +22,7 @@
22
22
  "scripts": {
23
23
  "build": "rm -rf dist && tsc",
24
24
  "watch": "tsc --watch",
25
+ "test": "npm run build && node test/run.mjs",
25
26
  "lint": "biome lint --fix --unsafe",
26
27
  "check-docs": "node scripts/check-docs.mjs",
27
28
  "prepack": "npm run build && node scripts/stage-user-changelog.mjs",