@minecraft/server 2.10.0-beta.1.26.40-preview.26 → 2.10.0-beta.1.26.40-preview.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.d.ts +362 -32
  2. package/package.json +2 -2
package/index.d.ts CHANGED
@@ -220,6 +220,34 @@ export enum CameraShakeType {
220
220
  Rotational = 'Rotational',
221
221
  }
222
222
 
223
+ /**
224
+ * @beta
225
+ * An enumeration for the clone modes used when cloning blocks.
226
+ */
227
+ export enum CloneMode {
228
+ /**
229
+ * @remarks
230
+ * Clones the blocks from the source region to the destination,
231
+ * leaving the source intact.
232
+ *
233
+ */
234
+ Copy = 0,
235
+ /**
236
+ * @remarks
237
+ * Clones the blocks from the source region to the destination,
238
+ * allowing the source and destination regions to overlap.
239
+ *
240
+ */
241
+ ForceCopy = 1,
242
+ /**
243
+ * @remarks
244
+ * Clones the blocks from the source region to the destination
245
+ * and replaces the source region with air.
246
+ *
247
+ */
248
+ Move = 2,
249
+ }
250
+
223
251
  /**
224
252
  * The required permission level to execute the custom command.
225
253
  */
@@ -5238,7 +5266,7 @@ export class BlockCustomComponentInstance extends BlockComponent {
5238
5266
  * pack, per block entity in their dynamic properties storage.
5239
5267
  * @example rememberPlayerInteraction.ts
5240
5268
  * ```typescript
5241
- * import { system } from '@minecraft/server-wrapper';
5269
+ * import { system } from '@minecraft/server-v2';
5242
5270
  *
5243
5271
  * system.beforeEvents.startup.subscribe(initEvent => {
5244
5272
  * initEvent.blockComponentRegistry.registerCustomComponent('scripting_demo_pack:block_entity_onPlayerInteract', {
@@ -8376,6 +8404,72 @@ export class Dimension {
8376
8404
  *
8377
8405
  */
8378
8406
  readonly localizationKey: string;
8407
+ /**
8408
+ * @rc
8409
+ * @remarks
8410
+ * Calculates the location of the closest biome of a particular
8411
+ * type from the world seed. Note that
8412
+ * calculateClosestBiomeFromSeed can be an expensive operation,
8413
+ * so avoid using many of these calls within a particular tick.
8414
+ * The result is derived purely from the world generation
8415
+ * algorithm and the world seed, so the returned location may
8416
+ * not reflect the actual current terrain if biomes have been
8417
+ * modified after generation.
8418
+ *
8419
+ * @param pos
8420
+ * Starting location to look for a biome to find.
8421
+ * @param biomeToFind
8422
+ * Identifier of the biome to look for.
8423
+ * @param options
8424
+ * Additional selection criteria for a biome search.
8425
+ * @returns
8426
+ * Returns a location of the biome, or undefined if a biome
8427
+ * could not be found.
8428
+ * @throws This function can throw errors.
8429
+ *
8430
+ * {@link minecraftcommon.EngineError}
8431
+ *
8432
+ * {@link Error}
8433
+ */
8434
+ calculateClosestBiomeFromSeed(
8435
+ pos: Vector3,
8436
+ biomeToFind: BiomeType | string,
8437
+ options?: BiomeSearchOptions,
8438
+ ): Vector3 | undefined;
8439
+ /**
8440
+ * @beta
8441
+ * @remarks
8442
+ * Clones a region of blocks from one area of the dimension to
8443
+ * another.
8444
+ *
8445
+ * This function can't be called in restricted-execution mode.
8446
+ *
8447
+ * @param beginLocation
8448
+ * The lower northwest starting corner of the area to clone
8449
+ * from.
8450
+ * @param endLocation
8451
+ * The upper southeast ending corner of the area to clone from.
8452
+ * @param destination
8453
+ * The lower northwest starting corner of the area to clone to.
8454
+ * @param cloneMode
8455
+ * Specifies how the cloned blocks should be placed at the
8456
+ * destination.
8457
+ * @param filter
8458
+ * An optional block filter used to include only matching
8459
+ * blocks from the source area.
8460
+ * @throws This function can throw errors.
8461
+ *
8462
+ * {@link Error}
8463
+ *
8464
+ * {@link LocationOutOfWorldBoundariesError}
8465
+ */
8466
+ cloneBlocks(
8467
+ beginLocation: Vector3,
8468
+ endLocation: Vector3,
8469
+ destination: Vector3,
8470
+ cloneMode: CloneMode,
8471
+ filter?: BlockFilter,
8472
+ ): void;
8379
8473
  /**
8380
8474
  * @remarks
8381
8475
  * Checks if an area contains the specified biomes. If the area
@@ -8532,30 +8626,6 @@ export class Dimension {
8532
8626
  block: BlockPermutation | BlockType | string,
8533
8627
  options?: BlockFillOptions,
8534
8628
  ): ListBlockVolume;
8535
- /**
8536
- * @beta
8537
- * @remarks
8538
- * Finds the location of the closest biome of a particular
8539
- * type. Note that the findClosestBiome operation can take some
8540
- * time to complete, so avoid using many of these calls within
8541
- * a particular tick.
8542
- *
8543
- * @param pos
8544
- * Starting location to look for a biome to find.
8545
- * @param biomeToFind
8546
- * Identifier of the biome to look for.
8547
- * @param options
8548
- * Additional selection criteria for a biome search.
8549
- * @returns
8550
- * Returns a location of the biome, or undefined if a biome
8551
- * could not be found.
8552
- * @throws This function can throw errors.
8553
- *
8554
- * {@link minecraftcommon.EngineError}
8555
- *
8556
- * {@link Error}
8557
- */
8558
- findClosestBiome(pos: Vector3, biomeToFind: BiomeType | string, options?: BiomeSearchOptions): Vector3 | undefined;
8559
8629
  /**
8560
8630
  * @remarks
8561
8631
  * Returns the biome type at the specified location.
@@ -17481,7 +17551,7 @@ export class LootingEnchantFunction extends LootItemFunction {
17481
17551
  export class LootItem extends LootPoolEntry {
17482
17552
  private constructor();
17483
17553
  /**
17484
- * @beta
17554
+ * @rc
17485
17555
  */
17486
17556
  readonly conditions: LootItemCondition[];
17487
17557
  readonly functions: LootItemFunction[];
@@ -18536,7 +18606,7 @@ export class Player extends Entity {
18536
18606
  * }
18537
18607
  * ```
18538
18608
  */
18539
- playSound(soundId: string, soundOptions?: PlayerSoundOptions): SoundInstance;
18609
+ playSound(soundId: SoundDefinition | string, soundOptions?: PlayerSoundOptions): SoundInstance;
18540
18610
  /**
18541
18611
  * @beta
18542
18612
  * @remarks
@@ -20925,6 +20995,18 @@ export class PrimitiveShapesManager {
20925
20995
  * {@link PrimitiveShapeError}
20926
20996
  */
20927
20997
  addText(text: TextPrimitive, dimension?: Dimension): void;
20998
+ /**
20999
+ * @beta
21000
+ * @remarks
21001
+ * Fetches and queries all primitive shapes stored in the
21002
+ * manager and returns the results as an array of shape
21003
+ * handles.
21004
+ *
21005
+ * @param options
21006
+ * Optional options for querying existing shapes to narrow down
21007
+ * the results.
21008
+ */
21009
+ getShapes(options?: PrimitiveShapeQueryOptions): PrimitiveShape[];
20928
21010
  /**
20929
21011
  * @remarks
20930
21012
  * Removes all text primitives from the world.
@@ -22256,6 +22338,73 @@ export class SoundCompletedAfterEventSignal {
22256
22338
  unsubscribe(callback: (arg0: SoundCompletedAfterEvent) => void): void;
22257
22339
  }
22258
22340
 
22341
+ /**
22342
+ * @beta
22343
+ * Static metadata about a sound declared in a
22344
+ * sound_definitions.json file.
22345
+ */
22346
+ export class SoundDefinition {
22347
+ private constructor();
22348
+ /**
22349
+ * @remarks
22350
+ * Duration metadata declared for this sound. Undefined when
22351
+ * the sound definition does not specify a duration.
22352
+ *
22353
+ */
22354
+ readonly durationInfo?: SoundDefinitionDurationInfo;
22355
+ /**
22356
+ * @remarks
22357
+ * Music metadata declared for this sound. Undefined when the
22358
+ * sound definition does not specify a music_info block.
22359
+ *
22360
+ */
22361
+ readonly musicInfo?: SoundDefinitionMusicInfo;
22362
+ /**
22363
+ * @remarks
22364
+ * Identifier of the sound event this definition declares, in
22365
+ * the form 'namespace:name'.
22366
+ *
22367
+ */
22368
+ readonly soundEventId: string;
22369
+ /**
22370
+ * @remarks
22371
+ * Tag metadata declared for this sound, as a record mapping
22372
+ * each tag name to its declared values. A tag declared with a
22373
+ * single string value is exposed as a single-element array.
22374
+ * Undefined when the sound definition does not specify any
22375
+ * tags.
22376
+ *
22377
+ */
22378
+ readonly tags?: Record<string, string[]>;
22379
+ }
22380
+
22381
+ /**
22382
+ * @beta
22383
+ * Provides read-only access to the sound definitions loaded
22384
+ * for the current world.
22385
+ */
22386
+ export class SoundDefinitionRegistry {
22387
+ private constructor();
22388
+ /**
22389
+ * @remarks
22390
+ * Returns the sound definitions in the registry, optionally
22391
+ * narrowed by a filter.
22392
+ *
22393
+ * @param filter
22394
+ * Optional filter applied to each definition. When omitted,
22395
+ * every definition is returned.
22396
+ * @returns
22397
+ * All sound definitions matching the filter, or every sound
22398
+ * definition when no filter is supplied.
22399
+ * @throws
22400
+ * An error will be thrown if filter.minDuration is greater
22401
+ * than filter.maxDuration.
22402
+ *
22403
+ * {@link minecraftcommon.InvalidArgumentError}
22404
+ */
22405
+ getDefinitions(filter?: SoundDefinitionFilter): SoundDefinition[];
22406
+ }
22407
+
22259
22408
  /**
22260
22409
  * @beta
22261
22410
  * Provides duration and playback information for a sound whose
@@ -22277,13 +22426,14 @@ export class SoundDurationInfo {
22277
22426
  readonly isActive: boolean;
22278
22427
  /**
22279
22428
  * @remarks
22280
- * Returns the elapsed playback time of the sound, in seconds,
22281
- * since it started playing.
22429
+ * Returns the current playback position within the sound, in
22430
+ * seconds, measured from the beginning of the sound.
22282
22431
  *
22283
22432
  * This function can't be called in restricted-execution mode.
22284
22433
  *
22285
22434
  * @returns
22286
- * Elapsed playback time in seconds.
22435
+ * Current playback position in seconds, measured from the
22436
+ * beginning of the sound.
22287
22437
  */
22288
22438
  getPlaybackPosition(): number;
22289
22439
  }
@@ -22373,7 +22523,12 @@ export class SoundInstance {
22373
22523
  *
22374
22524
  * @param seconds
22375
22525
  * Position to seek to in seconds. Must be non-negative.
22376
- * Minimum value: 0
22526
+ * Bounds: [0, 107374184]
22527
+ * @throws
22528
+ * Throws if `seconds` is negative, or if the sound has a known
22529
+ * duration and `seconds` is greater than that duration.
22530
+ *
22531
+ * {@link minecraftcommon.ArgumentOutOfBoundsError}
22377
22532
  */
22378
22533
  seekTo(seconds: number): void;
22379
22534
  /**
@@ -23876,6 +24031,14 @@ export class World {
23876
24031
  *
23877
24032
  */
23878
24033
  readonly seed: string;
24034
+ /**
24035
+ * @beta
24036
+ * @remarks
24037
+ * Provides read-only access to the sound definitions loaded
24038
+ * for this world.
24039
+ *
24040
+ */
24041
+ readonly soundDefinitionRegistry: SoundDefinitionRegistry;
23879
24042
  /**
23880
24043
  * @remarks
23881
24044
  * Returns the manager for {@link Structure} related APIs.
@@ -25142,7 +25305,7 @@ export interface BiomeFilter {
25142
25305
  }
25143
25306
 
25144
25307
  /**
25145
- * @beta
25308
+ * @rc
25146
25309
  * Contains additional options for searches for the
25147
25310
  * dimension.findNearestBiome API.
25148
25311
  */
@@ -27363,6 +27526,43 @@ export interface PlayerVisibilityRules extends EntityVisibilityRules {
27363
27526
  showSpectatorToSpectator?: boolean;
27364
27527
  }
27365
27528
 
27529
+ /**
27530
+ * @beta
27531
+ * Contains optional filters that control which primitive
27532
+ * shapes are returned from a primitive shapes query.
27533
+ */
27534
+ export interface PrimitiveShapeQueryOptions {
27535
+ /**
27536
+ * @remarks
27537
+ * If specified, only returns shapes attached to this entity.
27538
+ *
27539
+ */
27540
+ attachedTo?: Entity;
27541
+ /**
27542
+ * @remarks
27543
+ * Adds a seed location to the query that is used in
27544
+ * conjunction with distance properties.
27545
+ *
27546
+ */
27547
+ location?: Vector3;
27548
+ /**
27549
+ * @remarks
27550
+ * If specified, only includes shapes that are less than this
27551
+ * distance away from the location specified in the location
27552
+ * property.
27553
+ *
27554
+ */
27555
+ maxDistance?: number;
27556
+ /**
27557
+ * @remarks
27558
+ * If specified, only includes shapes that are at least this
27559
+ * distance away from the location specified in the location
27560
+ * property.
27561
+ *
27562
+ */
27563
+ minDistance?: number;
27564
+ }
27565
+
27366
27566
  /**
27367
27567
  * Key frame that holds the progress of the camera animation.
27368
27568
  */
@@ -27684,6 +27884,136 @@ export interface ScriptEventMessageFilterOptions {
27684
27884
  namespaces: string[];
27685
27885
  }
27686
27886
 
27887
+ /**
27888
+ * @beta
27889
+ * Duration metadata declared in a sound definition.
27890
+ */
27891
+ export interface SoundDefinitionDurationInfo {
27892
+ /**
27893
+ * @remarks
27894
+ * Total duration of the sound in seconds, as declared in the
27895
+ * sound definition.
27896
+ *
27897
+ */
27898
+ duration: number;
27899
+ }
27900
+
27901
+ /**
27902
+ * @beta
27903
+ * Criteria used to narrow a set of sound definitions. Each
27904
+ * field is optional and applies its constraint only when
27905
+ * defined; a definition must satisfy every defined field to
27906
+ * pass.
27907
+ */
27908
+ export interface SoundDefinitionFilter {
27909
+ /**
27910
+ * @remarks
27911
+ * Artist names to match against the definition's
27912
+ * music_info.artist. Comparison is case-insensitive. When
27913
+ * defined as a non-empty array, a definition passes only when
27914
+ * its declared artist matches one of the supplied values. When
27915
+ * undefined, no constraint on artist is applied.
27916
+ *
27917
+ */
27918
+ artists?: string[];
27919
+ /**
27920
+ * @remarks
27921
+ * Genres to match against the definition's music_info.genres.
27922
+ * Comparison is case-insensitive. When defined as a non-empty
27923
+ * array, a definition passes only when at least one of its
27924
+ * declared genres matches one of the supplied values. When
27925
+ * undefined, no constraint on genres is applied.
27926
+ *
27927
+ */
27928
+ genres?: string[];
27929
+ /**
27930
+ * @remarks
27931
+ * Upper bound in seconds, inclusive. When defined, definitions
27932
+ * with a longer duration and definitions without a declared
27933
+ * duration are excluded. When undefined, no upper bound is
27934
+ * applied.
27935
+ *
27936
+ */
27937
+ maxDuration?: number;
27938
+ /**
27939
+ * @remarks
27940
+ * Lower bound in seconds, inclusive. When defined, definitions
27941
+ * with a shorter duration and definitions without a declared
27942
+ * duration are excluded. When undefined, no lower bound is
27943
+ * applied.
27944
+ *
27945
+ */
27946
+ minDuration?: number;
27947
+ /**
27948
+ * @remarks
27949
+ * Moods to match against the definition's music_info.moods.
27950
+ * Comparison is case-insensitive. When defined as a non-empty
27951
+ * array, a definition passes only when at least one of its
27952
+ * declared moods matches one of the supplied values. When
27953
+ * undefined, no constraint on moods is applied.
27954
+ *
27955
+ */
27956
+ moods?: string[];
27957
+ /**
27958
+ * @remarks
27959
+ * Tag constraints to match against the definition's tags.
27960
+ * Comparisons of tag names and values are case-insensitive.
27961
+ * When defined as a non-empty record, a definition passes only
27962
+ * when, for each entry with a non-empty value array, the tag
27963
+ * name is present on the definition with at least one matching
27964
+ * value. When undefined, no constraint on tags is applied.
27965
+ *
27966
+ */
27967
+ tags?: Record<string, string[]>;
27968
+ /**
27969
+ * @remarks
27970
+ * Titles to match against the definition's music_info.title.
27971
+ * Comparison is case-insensitive. When defined as a non-empty
27972
+ * array, a definition passes only when its declared title
27973
+ * matches one of the supplied values. When undefined, no
27974
+ * constraint on title is applied.
27975
+ *
27976
+ */
27977
+ titles?: string[];
27978
+ }
27979
+
27980
+ /**
27981
+ * @beta
27982
+ * Music metadata declared on a sound definition. Each field is
27983
+ * optional and is undefined when the sound definition does not
27984
+ * declare a value for it.
27985
+ */
27986
+ export interface SoundDefinitionMusicInfo {
27987
+ /**
27988
+ * @remarks
27989
+ * Artist declared for this sound. Undefined when no artist was
27990
+ * declared.
27991
+ *
27992
+ */
27993
+ artist?: string;
27994
+ /**
27995
+ * @remarks
27996
+ * Genres declared for this sound. Undefined when no genres
27997
+ * were declared.
27998
+ *
27999
+ */
28000
+ genres?: string[];
28001
+ /**
28002
+ * @remarks
28003
+ * Moods declared for this sound. Undefined when no moods were
28004
+ * declared.
28005
+ *
28006
+ */
28007
+ moods?: string[];
28008
+ /**
28009
+ * @remarks
28010
+ * Title declared for this sound. Undefined when no title was
28011
+ * declared.
28012
+ *
28013
+ */
28014
+ title?: string;
28015
+ }
28016
+
27687
28017
  /**
27688
28018
  * Contains additional options for spawning an Entity.
27689
28019
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minecraft/server",
3
- "version": "2.10.0-beta.1.26.40-preview.26",
3
+ "version": "2.10.0-beta.1.26.40-preview.30",
4
4
  "description": "",
5
5
  "contributors": [
6
6
  {
@@ -14,7 +14,7 @@
14
14
  ],
15
15
  "peerDependencies": {
16
16
  "@minecraft/common": "^1.2.0",
17
- "@minecraft/vanilla-data": ">=1.20.70 || 1.26.40-preview.26"
17
+ "@minecraft/vanilla-data": ">=1.20.70 || 1.26.40-preview.30"
18
18
  },
19
19
  "license": "MIT"
20
20
  }