@minecraft/server-editor 0.1.0-beta.1.26.3-stable → 0.1.0-beta.1.26.30-preview.25

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 (3) hide show
  1. package/README.md +6 -6
  2. package/index.d.ts +2452 -685
  3. package/package.json +20 -20
package/index.d.ts CHANGED
@@ -108,6 +108,20 @@ export declare enum ButtonVariant {
108
108
  Destructive = 3,
109
109
  }
110
110
 
111
+ export declare enum CollectionTreeEntryItemType {
112
+ String = 0,
113
+ Number = 1,
114
+ Dropdown = 2,
115
+ }
116
+
117
+ /**
118
+ * Determines how collection tree folders will be sorted
119
+ */
120
+ export declare enum CollectionTreeSortType {
121
+ AtoZ = 0,
122
+ ZtoA = 1,
123
+ }
124
+
111
125
  /**
112
126
  * The possible variants of a color picker.
113
127
  */
@@ -983,6 +997,15 @@ export declare enum ListPaneEntryType {
983
997
  Text = 3,
984
998
  }
985
999
 
1000
+ /**
1001
+ * Determines theming variation for the list slot
1002
+ */
1003
+ export declare enum ListPaneSlotVariant {
1004
+ Primary = 0,
1005
+ Secondary = 1,
1006
+ Muted = 2,
1007
+ }
1008
+
986
1009
  /**
987
1010
  * Determines how list pane slots will be sorted
988
1011
  */
@@ -992,6 +1015,13 @@ export declare enum ListPaneViewSortType {
992
1015
  ZtoA = 2,
993
1016
  }
994
1017
 
1018
+ export declare enum ListViewControlFilterFlags {
1019
+ None = 0,
1020
+ Name = 1,
1021
+ Tag = 2,
1022
+ All = 3,
1023
+ }
1024
+
995
1025
  export enum LogChannel {
996
1026
  /**
997
1027
  * @remarks
@@ -1020,6 +1050,13 @@ export enum MinimapMarkerType {
1020
1050
  *
1021
1051
  */
1022
1052
  Multiplayer = 0,
1053
+ Location = 1,
1054
+ Custom = 2,
1055
+ }
1056
+
1057
+ export enum MinimapTrackingMode {
1058
+ FollowPlayer = 0,
1059
+ FreeCenter = 1,
1023
1060
  }
1024
1061
 
1025
1062
  export enum MinimapViewType {
@@ -1030,6 +1067,7 @@ export enum MinimapViewType {
1030
1067
  *
1031
1068
  */
1032
1069
  BlockView = 0,
1070
+ CustomBiomeView = 1,
1033
1071
  }
1034
1072
 
1035
1073
  /**
@@ -1153,6 +1191,12 @@ export enum PrimitiveType {
1153
1191
  Line = 2,
1154
1192
  Disc = 4,
1155
1193
  AxialSphere = 5,
1194
+ Cylinder = 7,
1195
+ Pyramid = 8,
1196
+ Ellipsoid = 9,
1197
+ Cuboid = 10,
1198
+ Cone = 11,
1199
+ WireframeMesh = 12,
1156
1200
  }
1157
1201
 
1158
1202
  /**
@@ -1167,6 +1211,7 @@ export enum ProjectExportType {
1167
1211
  PlayableWorld = 0,
1168
1212
  ProjectBackup = 1,
1169
1213
  WorldTemplate = 2,
1214
+ ShareableWorld = 3,
1170
1215
  }
1171
1216
 
1172
1217
  /**
@@ -1178,6 +1223,7 @@ export declare enum PropertyItemType {
1178
1223
  Boolean = 'editorUI:Boolean',
1179
1224
  Button = 'editorUI:Button',
1180
1225
  ButtonPane = 'editorUI:ButtonPane',
1226
+ CollectionTree = 'editorUI:CollectionTree',
1181
1227
  ColorPicker = 'editorUI:ColorPicker',
1182
1228
  ColorTimeline = 'editorUI:ColorTimeline',
1183
1229
  ComboBox = 'editorUI:ComboBox',
@@ -1195,10 +1241,20 @@ export declare enum PropertyItemType {
1195
1241
  ProxyPane = 'editorUI:ProxyPane',
1196
1242
  String = 'editorUI:String',
1197
1243
  SubPane = 'editorUI:SubPane',
1244
+ TagContainer = 'editorUI:TagContainer',
1198
1245
  Text = 'editorUI:Text',
1199
1246
  ToggleGroup = 'editorUI:ToggleGroup',
1200
1247
  Vector2 = 'editorUI:Vector2',
1201
1248
  Vector3 = 'editorUI:Vector3',
1249
+ Vector3Timeline = 'editorUI:Vector3Timeline',
1250
+ }
1251
+
1252
+ /**
1253
+ * Determines the location root pane will be displayed in
1254
+ */
1255
+ export declare enum RootPaneLocation {
1256
+ Drawer = 0,
1257
+ Viewport = 1,
1202
1258
  }
1203
1259
 
1204
1260
  export enum SelectionVolumeEventType {
@@ -1234,6 +1290,14 @@ export enum StructureSource {
1234
1290
  Level = 3,
1235
1291
  }
1236
1292
 
1293
+ /**
1294
+ * The possible variants of a TagContainer property item.
1295
+ */
1296
+ export declare enum TagContainerVariant {
1297
+ Primary = 0,
1298
+ Inverted = 1,
1299
+ }
1300
+
1237
1301
  export enum ThemeSettingsColorKey {
1238
1302
  Caret = 'Caret',
1239
1303
  Confirm1 = 'Confirm1',
@@ -1433,6 +1497,100 @@ export type GraphicsSettingsPropertyTypeMap = {
1433
1497
  [GraphicsSettingsProperty.DisableBlockEntityRendering]?: boolean;
1434
1498
  };
1435
1499
 
1500
+ /**
1501
+ * Menu options for the collection tree entry dropdown item
1502
+ */
1503
+ export type ICollectionTreeEntryDropdownItemMenuOption = {
1504
+ readonly label: string;
1505
+ readonly value: string;
1506
+ readonly imageData?: ImageResourceData;
1507
+ };
1508
+
1509
+ /**
1510
+ * Parameters to create dropdown in a collection tree entry
1511
+ */
1512
+ export type ICollectionTreeEntryDropdownItemParams = {
1513
+ value: IObservableProp<string>;
1514
+ title?: LocalizedString;
1515
+ tooltip?: BasicTooltipContent;
1516
+ enabled?: boolean;
1517
+ visible?: boolean;
1518
+ menuOptions?: ICollectionTreeEntryDropdownItemMenuOption[];
1519
+ onChange?: (newValue: string, oldValue: string, item: ICollectionTreeEntryDropdownItem) => void;
1520
+ };
1521
+
1522
+ /**
1523
+ * Parameters to create number field in a collection tree entry
1524
+ */
1525
+ export type ICollectionTreeEntryNumberItemParams = {
1526
+ value: IObservableProp<number>;
1527
+ title?: LocalizedString;
1528
+ tooltip?: BasicTooltipContent;
1529
+ enabled?: boolean;
1530
+ visible?: boolean;
1531
+ min?: number;
1532
+ max?: number;
1533
+ isInteger?: boolean;
1534
+ onChange?: (newValue: number, oldValue: number, item: ICollectionTreeEntryNumberItem) => void;
1535
+ };
1536
+
1537
+ /**
1538
+ * Options to create an entry in a collection tree folder
1539
+ */
1540
+ export type ICollectionTreeEntryOptions = {
1541
+ selected?: boolean;
1542
+ image?: ImageResourceData;
1543
+ selectable?: boolean;
1544
+ removable?: boolean;
1545
+ color?: minecraftserver.RGBA;
1546
+ userData?: unknown;
1547
+ onSelectedChange?: (selected: boolean, folder: ICollectionTreeEntry) => void;
1548
+ onBeforeRelocated?: (toFolder: ICollectionTreeFolder, toIndex: number, entry: ICollectionTreeEntry) => boolean;
1549
+ };
1550
+
1551
+ /**
1552
+ * Parameters to create string field in a collection tree entry
1553
+ */
1554
+ export type ICollectionTreeEntryStringItemParams = {
1555
+ value: IObservableProp<string>;
1556
+ title?: LocalizedString;
1557
+ tooltip?: BasicTooltipContent;
1558
+ enabled?: boolean;
1559
+ visible?: boolean;
1560
+ onChange?: (newValue: string, oldValue: string, item: ICollectionTreeEntryStringItem) => void;
1561
+ };
1562
+
1563
+ /**
1564
+ * Parameters to create an action button on the folder header
1565
+ */
1566
+ export type ICollectionTreeFolderHeaderActionParams = {
1567
+ title?: LocalizedString;
1568
+ tooltip?: BasicTooltipContent;
1569
+ enabled?: boolean;
1570
+ onClick: (folder: ICollectionTreeFolder) => void;
1571
+ };
1572
+
1573
+ /**
1574
+ * Contains collection folders and entries
1575
+ */
1576
+ export type ICollectionTreeFolderOptions = {
1577
+ uniqueId?: string;
1578
+ title?: LocalizedString;
1579
+ selected?: boolean;
1580
+ expanded?: boolean;
1581
+ visible?: boolean;
1582
+ removable?: boolean;
1583
+ selectable?: boolean;
1584
+ userData?: unknown;
1585
+ color?: minecraftserver.RGBA;
1586
+ action?: ICollectionTreeFolderHeaderActionParams;
1587
+ menu?: IMenuCreationParams[];
1588
+ onMenuClicked?: (menuId: string, folder: ICollectionTreeFolder) => void;
1589
+ onSelectedChange?: (selected: boolean, folder: ICollectionTreeFolder) => void;
1590
+ onBeforeRemoved?: (folder: ICollectionTreeFolder) => boolean;
1591
+ onBeforeEntryRemoved?: (entry: ICollectionTreeEntry) => boolean;
1592
+ };
1593
+
1436
1594
  /**
1437
1595
  * Animation properties for a horizontally laid out sprite
1438
1596
  * sheet image
@@ -1562,6 +1720,15 @@ export type ListPaneImageEntryParams = {
1562
1720
  visible?: boolean;
1563
1721
  };
1564
1722
 
1723
+ export declare type ListPaneSlotConfiguration = {
1724
+ height: number;
1725
+ columns?: number;
1726
+ clickable?: boolean;
1727
+ outline?: boolean;
1728
+ variant?: ListPaneSlotVariant;
1729
+ entryLayout: ListPaneSlotLayoutEntry[] | ListPaneSlotLayoutSections;
1730
+ };
1731
+
1565
1732
  /**
1566
1733
  * Properties required to create a slot
1567
1734
  */
@@ -1570,20 +1737,17 @@ export type ListPaneSlotCreationProps = {
1570
1737
  options?: IListPaneSlotOptions;
1571
1738
  };
1572
1739
 
1573
- export declare type ListPaneSlotLayout = {
1574
- height: number;
1575
- columns?: number;
1576
- clickable?: boolean;
1577
- outline?: boolean;
1578
- entryLayout: ListPaneSlotLayoutEntry[];
1579
- };
1580
-
1581
1740
  export declare type ListPaneSlotLayoutEntry = {
1582
1741
  type: ListPaneEntryType;
1583
1742
  size?: number | LayoutSize | LayoutFlex;
1584
1743
  alignment?: LayoutAlignment;
1585
1744
  };
1586
1745
 
1746
+ export declare type ListPaneSlotLayoutSections = {
1747
+ mainSection: ListPaneSlotLayoutEntry[];
1748
+ outerSection: ListPaneSlotLayoutEntry[];
1749
+ };
1750
+
1587
1751
  /**
1588
1752
  * List Pane Text entry creation parameter
1589
1753
  */
@@ -1601,6 +1765,23 @@ export declare type ListPaneViewFilter = {
1601
1765
  tags?: string[];
1602
1766
  };
1603
1767
 
1768
+ /**
1769
+ * Action item to be displayed on a list view control
1770
+ */
1771
+ export type ListViewControlAction = {
1772
+ id: string;
1773
+ } & ListViewControlActionState;
1774
+
1775
+ /**
1776
+ * Action item state for list view control
1777
+ */
1778
+ export type ListViewControlActionState = {
1779
+ label: LocalizedString;
1780
+ icon: string;
1781
+ disabled?: boolean;
1782
+ displayInMenu?: boolean;
1783
+ };
1784
+
1604
1785
  /**
1605
1786
  * Represents a localized string or an object with a localized
1606
1787
  * string and optional properties
@@ -1795,6 +1976,14 @@ export type SupportedKeyboardActionTypes =
1795
1976
  */
1796
1977
  export type SupportedMouseActionTypes = RegisteredAction<MouseRayCastAction>;
1797
1978
 
1979
+ /**
1980
+ * Tooltip action description
1981
+ */
1982
+ export type TooltipButton = {
1983
+ text: LocalizedString;
1984
+ action: RegisteredAction<NoArgsAction>;
1985
+ };
1986
+
1798
1987
  /**
1799
1988
  * Content properties to display tooltips
1800
1989
  */
@@ -1807,15 +1996,15 @@ export declare type TooltipContent = {
1807
1996
  /**
1808
1997
  * Content properties to display interactive tooltips
1809
1998
  */
1810
- export declare type TooltipInteractiveContent = {
1999
+ export type TooltipInteractiveContent = {
1811
2000
  title?: LocalizedString;
1812
- description?: TooltipInteractiveContentDescription[];
2001
+ description?: (TooltipInteractiveContentDescriptionItem | TooltipInteractiveContentDescriptionItem[])[];
1813
2002
  };
1814
2003
 
1815
2004
  /**
1816
- * Possible tooltip description items
2005
+ * Supported description elements for interactive tooltips
1817
2006
  */
1818
- export declare type TooltipInteractiveContentDescription = LocalizedString | TooltipLink;
2007
+ export type TooltipInteractiveContentDescriptionItem = LocalizedString | TooltipLink | TooltipButton;
1819
2008
 
1820
2009
  /**
1821
2010
  * Tooltip link description
@@ -2136,11 +2325,54 @@ export declare abstract class BrushShape {
2136
2325
  */
2137
2326
  constructor(_id: string, _displayName: string, _icon: string);
2138
2327
  abstract applySetting(brushSettings: BrushShapeSettings): void;
2328
+ /**
2329
+ * @remarks
2330
+ * Calculates the bounding box of the shape in local
2331
+ * coordinates. Used for region allocation before shape
2332
+ * placement.
2333
+ *
2334
+ * @returns
2335
+ * Object with min and max Vector3 bounds
2336
+ */
2337
+ abstract calculateBounds(): minecraftserver.BlockBoundingBox;
2139
2338
  abstract createSettingsPane(
2140
2339
  parentPane: IPropertyPane,
2141
2340
  onSettingsChange?: () => void,
2341
+ flatLayout?: boolean,
2142
2342
  ): ISubPanePropertyItem | undefined;
2143
2343
  abstract createShape(): RelativeVolumeListBlockVolume;
2344
+ /**
2345
+ * @remarks
2346
+ * Asynchronously creates the shape, yielding control
2347
+ * periodically to avoid timeouts. Use this for large shapes
2348
+ * where createShape() may timeout.
2349
+ *
2350
+ * @param cancelToken
2351
+ * Optional token to cancel the operation. Set cancelled to
2352
+ * true to abort.
2353
+ * @param yieldInterval
2354
+ * Number of blocks to process before yielding. Default is
2355
+ * 10000.
2356
+ * @returns
2357
+ * Promise that resolves to the shape positions as Vector3
2358
+ * array.
2359
+ */
2360
+ abstract createShapeAsync(
2361
+ cancelToken?: {
2362
+ cancelled: boolean;
2363
+ },
2364
+ yieldInterval?: number,
2365
+ ): Promise<RelativeVolumeListBlockVolume>;
2366
+ /**
2367
+ * @remarks
2368
+ * Returns a mathematical estimate of the number of blocks in
2369
+ * the shape. Used for UI display and validation before shape
2370
+ * creation.
2371
+ *
2372
+ * @returns
2373
+ * Estimated block count
2374
+ */
2375
+ abstract estimateBlockCount(): number;
2144
2376
  abstract getSettings(): BrushShapeSettings;
2145
2377
  }
2146
2378
 
@@ -2476,13 +2708,30 @@ export declare class ConeBrushShape extends BrushShape {
2476
2708
  width?: number;
2477
2709
  height?: number;
2478
2710
  depth?: number;
2711
+ maxRadius?: number;
2712
+ maxHeight?: number;
2479
2713
  xRotation?: number;
2480
2714
  yRotation?: number;
2481
2715
  zRotation?: number;
2716
+ hollow?: boolean;
2717
+ thickness?: number;
2718
+ enableHollowSettings?: boolean;
2482
2719
  });
2483
2720
  applySetting(brushSettings: ConeBrushShapeSettings): void;
2484
- createSettingsPane(parentPane: IPropertyPane, onSettingsChange?: () => void): ISubPanePropertyItem;
2721
+ calculateBounds(): minecraftserver.BlockBoundingBox;
2722
+ createSettingsPane(
2723
+ parentPane: IPropertyPane,
2724
+ onSettingsChange?: () => void,
2725
+ flatLayout?: boolean,
2726
+ ): ISubPanePropertyItem;
2485
2727
  createShape(): RelativeVolumeListBlockVolume;
2728
+ createShapeAsync(
2729
+ cancelToken?: {
2730
+ cancelled: boolean;
2731
+ },
2732
+ yieldInterval?: number,
2733
+ ): Promise<RelativeVolumeListBlockVolume>;
2734
+ estimateBlockCount(): number;
2486
2735
  getSettings(): ConeBrushShapeSettings;
2487
2736
  }
2488
2737
 
@@ -2500,13 +2749,30 @@ export declare class CuboidBrushShape extends BrushShape {
2500
2749
  height?: number;
2501
2750
  depth?: number;
2502
2751
  minLength?: number;
2752
+ maxLength?: number;
2503
2753
  xRotation?: number;
2504
2754
  yRotation?: number;
2505
2755
  zRotation?: number;
2756
+ hollow?: boolean;
2757
+ thickness?: number;
2758
+ enableHollowSettings?: boolean;
2759
+ hideRotation?: boolean;
2506
2760
  });
2507
2761
  applySetting(brushSettings: CuboidBrushShapeSettings): void;
2508
- createSettingsPane(parentPane: IPropertyPane, onSettingsChange?: () => void): ISubPanePropertyItem;
2762
+ calculateBounds(): minecraftserver.BlockBoundingBox;
2763
+ createSettingsPane(
2764
+ parentPane: IPropertyPane,
2765
+ onSettingsChange?: () => void,
2766
+ flatLayout?: boolean,
2767
+ ): ISubPanePropertyItem;
2509
2768
  createShape(): RelativeVolumeListBlockVolume;
2769
+ createShapeAsync(
2770
+ cancelToken?: {
2771
+ cancelled: boolean;
2772
+ },
2773
+ yieldInterval?: number,
2774
+ ): Promise<RelativeVolumeListBlockVolume>;
2775
+ estimateBlockCount(): number;
2510
2776
  getSettings(): CuboidBrushShapeSettings;
2511
2777
  }
2512
2778
 
@@ -2773,14 +3039,31 @@ export declare class CylinderBrushShape extends BrushShape {
2773
3039
  height?: number;
2774
3040
  depth?: number;
2775
3041
  minRadius?: number;
3042
+ maxRadius?: number;
3043
+ maxHeight?: number;
2776
3044
  xRotation?: number;
2777
3045
  yRotation?: number;
2778
3046
  zRotation?: number;
2779
3047
  hideRotation?: boolean;
3048
+ hollow?: boolean;
3049
+ thickness?: number;
3050
+ enableHollowSettings?: boolean;
2780
3051
  });
2781
3052
  applySetting(brushSettings: CylinderBrushShapeSettings): void;
2782
- createSettingsPane(parentPane: IPropertyPane, onSettingsChange?: () => void): ISubPanePropertyItem;
3053
+ calculateBounds(): minecraftserver.BlockBoundingBox;
3054
+ createSettingsPane(
3055
+ parentPane: IPropertyPane,
3056
+ onSettingsChange?: () => void,
3057
+ flatLayout?: boolean,
3058
+ ): ISubPanePropertyItem;
2783
3059
  createShape(): RelativeVolumeListBlockVolume;
3060
+ createShapeAsync(
3061
+ cancelToken?: {
3062
+ cancelled: boolean;
3063
+ },
3064
+ yieldInterval?: number,
3065
+ ): Promise<RelativeVolumeListBlockVolume>;
3066
+ estimateBlockCount(): number;
2784
3067
  getSettings(): CylinderBrushShapeSettings;
2785
3068
  }
2786
3069
 
@@ -2967,13 +3250,29 @@ export declare class EllipsoidBrushShape extends BrushShape {
2967
3250
  height?: number;
2968
3251
  depth?: number;
2969
3252
  minRadius?: number;
3253
+ maxRadius?: number;
2970
3254
  xRotation?: number;
2971
3255
  yRotation?: number;
2972
3256
  zRotation?: number;
3257
+ hollow?: boolean;
3258
+ thickness?: number;
3259
+ enableHollowSettings?: boolean;
2973
3260
  });
2974
3261
  applySetting(brushSettings: EllipsoidBrushShapeSettings): void;
2975
- createSettingsPane(parentPane: IPropertyPane, onSettingsChange?: () => void): ISubPanePropertyItem;
3262
+ calculateBounds(): minecraftserver.BlockBoundingBox;
3263
+ createSettingsPane(
3264
+ parentPane: IPropertyPane,
3265
+ onSettingsChange?: () => void,
3266
+ flatLayout?: boolean,
3267
+ ): ISubPanePropertyItem;
2976
3268
  createShape(): RelativeVolumeListBlockVolume;
3269
+ createShapeAsync(
3270
+ cancelToken?: {
3271
+ cancelled: boolean;
3272
+ },
3273
+ yieldInterval?: number,
3274
+ ): Promise<RelativeVolumeListBlockVolume>;
3275
+ estimateBlockCount(): number;
2977
3276
  getSettings(): EllipsoidBrushShapeSettings;
2978
3277
  }
2979
3278
 
@@ -3398,6 +3697,7 @@ export class MinecraftEditor {
3398
3697
  */
3399
3698
  export class MinimapItem {
3400
3699
  private constructor();
3700
+ readonly freeCenter: minecraftserver.VectorXZ;
3401
3701
  readonly id: string;
3402
3702
  /**
3403
3703
  * @remarks
@@ -3406,16 +3706,29 @@ export class MinimapItem {
3406
3706
  *
3407
3707
  */
3408
3708
  readonly isActive: boolean;
3709
+ readonly yLevel: number;
3409
3710
  /**
3410
3711
  * @remarks
3411
- * Add a visual marker of the specified type to the minimap
3412
- * display.
3712
+ * This function can't be called in restricted-execution mode.
3713
+ *
3714
+ * @throws This function can throw errors.
3715
+ */
3716
+ addCustomMarker(iconIdentifier: string, data: MinimapMarkerData[], dimensionId: string): void;
3717
+ /**
3718
+ * @remarks
3719
+ * This function can't be called in restricted-execution mode.
3413
3720
  *
3721
+ * @throws This function can throw errors.
3722
+ */
3723
+ addLocationMarker(data: MinimapMarkerData[], dimensionId: string): void;
3724
+ /**
3725
+ * @remarks
3414
3726
  * This function can't be called in restricted-execution mode.
3415
3727
  *
3416
3728
  * @throws This function can throw errors.
3417
3729
  */
3418
- addMarker(markerType: MinimapMarkerType): void;
3730
+ addMultiplayerMarker(): void;
3731
+ getMarkerTypes(): MinimapMarkerType[];
3419
3732
  /**
3420
3733
  * @remarks
3421
3734
  * Retrieve the color assigned to a specific player on the
@@ -3424,16 +3737,36 @@ export class MinimapItem {
3424
3737
  * @throws This function can throw errors.
3425
3738
  */
3426
3739
  getPlayerColor(playerId: string): minecraftserver.RGBA;
3740
+ hasCustomGroup(iconIdentifier: string): boolean;
3741
+ hasMarkerOfType(type: MinimapMarkerType): boolean;
3742
+ /**
3743
+ * @remarks
3744
+ * This function can't be called in restricted-execution mode.
3745
+ *
3746
+ * @throws This function can throw errors.
3747
+ */
3748
+ removeAllCustomMarkers(dimensionId: string): void;
3749
+ /**
3750
+ * @remarks
3751
+ * This function can't be called in restricted-execution mode.
3752
+ *
3753
+ * @throws This function can throw errors.
3754
+ */
3755
+ removeCustomMarker(iconIdentifier: string, dimensionId: string): void;
3427
3756
  /**
3428
3757
  * @remarks
3429
- * Remove a previously added marker of the specified type from
3430
- * the minimap.
3758
+ * This function can't be called in restricted-execution mode.
3431
3759
  *
3760
+ * @throws This function can throw errors.
3761
+ */
3762
+ removeLocationMarker(dimensionId: string): void;
3763
+ /**
3764
+ * @remarks
3432
3765
  * This function can't be called in restricted-execution mode.
3433
3766
  *
3434
3767
  * @throws This function can throw errors.
3435
3768
  */
3436
- removeMarker(markerType: MinimapMarkerType): void;
3769
+ removeMultiplayerMarker(): void;
3437
3770
  /**
3438
3771
  * @remarks
3439
3772
  * Control whether the minimap is currently active and visible
@@ -3444,6 +3777,13 @@ export class MinimapItem {
3444
3777
  * @throws This function can throw errors.
3445
3778
  */
3446
3779
  setActive(active: boolean): void;
3780
+ /**
3781
+ * @remarks
3782
+ * This function can't be called in restricted-execution mode.
3783
+ *
3784
+ * @throws This function can throw errors.
3785
+ */
3786
+ setFreeCenter(center: minecraftserver.VectorXZ): void;
3447
3787
  /**
3448
3788
  * @remarks
3449
3789
  * Adjust the width and height dimensions of the minimap
@@ -3454,6 +3794,13 @@ export class MinimapItem {
3454
3794
  * @throws This function can throw errors.
3455
3795
  */
3456
3796
  setSize(mapWidth: number, mapHeight: number): void;
3797
+ /**
3798
+ * @remarks
3799
+ * This function can't be called in restricted-execution mode.
3800
+ *
3801
+ * @throws This function can throw errors.
3802
+ */
3803
+ setTrackingMode(mode: MinimapTrackingMode): void;
3457
3804
  /**
3458
3805
  * @remarks
3459
3806
  * Change the visual perspective or style of the minimap view.
@@ -3463,6 +3810,13 @@ export class MinimapItem {
3463
3810
  * @throws This function can throw errors.
3464
3811
  */
3465
3812
  setViewType(viewType: MinimapViewType): void;
3813
+ /**
3814
+ * @remarks
3815
+ * This function can't be called in restricted-execution mode.
3816
+ *
3817
+ * @throws This function can throw errors.
3818
+ */
3819
+ setYLevel(yLevel: number): void;
3466
3820
  }
3467
3821
 
3468
3822
  /**
@@ -3482,7 +3836,12 @@ export class MinimapManager {
3482
3836
  *
3483
3837
  * @throws This function can throw errors.
3484
3838
  */
3485
- createMinimap(viewType: MinimapViewType, mapWidth: number, mapHeight: number): MinimapItem;
3839
+ createMinimap(
3840
+ viewType: MinimapViewType,
3841
+ mapWidth: number,
3842
+ mapHeight: number,
3843
+ options?: MinimapCreateOptions,
3844
+ ): MinimapItem;
3486
3845
  /**
3487
3846
  * @remarks
3488
3847
  * Remove an existing minimap instance from the manager using
@@ -3513,6 +3872,20 @@ export class MinimapManager {
3513
3872
  * @throws This function can throw errors.
3514
3873
  */
3515
3874
  getMinimap(minimapId: string): MinimapItem;
3875
+ /**
3876
+ * @remarks
3877
+ * This function can't be called in restricted-execution mode.
3878
+ *
3879
+ * @throws This function can throw errors.
3880
+ */
3881
+ setVanillaBiomeColorMap(colorMap: Record<string, minecraftserver.RGB>): void;
3882
+ /**
3883
+ * @remarks
3884
+ * This function can't be called in restricted-execution mode.
3885
+ *
3886
+ * @throws This function can throw errors.
3887
+ */
3888
+ updateVanillaColorMap(biomeType: minecraftserver.BiomeType, color: minecraftserver.RGB): void;
3516
3889
  }
3517
3890
 
3518
3891
  /**
@@ -3625,6 +3998,8 @@ export class ProbabilityBlockPaletteItem extends IBlockPaletteItem {
3625
3998
  * @remarks
3626
3999
  * This function can't be called in restricted-execution mode.
3627
4000
  *
4001
+ * @param weight
4002
+ * Bounds: [1, 100]
3628
4003
  * @throws This function can throw errors.
3629
4004
  */
3630
4005
  addBlock(block: minecraftserver.BlockPermutation | minecraftserver.BlockType | string, weight: number): void;
@@ -3660,13 +4035,30 @@ export declare class PyramidBrushShape extends BrushShape {
3660
4035
  width?: number;
3661
4036
  height?: number;
3662
4037
  depth?: number;
4038
+ maxSide?: number;
4039
+ maxHeight?: number;
3663
4040
  xRotation?: number;
3664
4041
  yRotation?: number;
3665
4042
  zRotation?: number;
4043
+ hollow?: boolean;
4044
+ thickness?: number;
4045
+ enableHollowSettings?: boolean;
3666
4046
  });
3667
4047
  applySetting(brushSettings: PyramidBrushShapeSettings): void;
3668
- createSettingsPane(parentPane: IPropertyPane, onSettingsChange?: () => void): ISubPanePropertyItem;
4048
+ calculateBounds(): minecraftserver.BlockBoundingBox;
4049
+ createSettingsPane(
4050
+ parentPane: IPropertyPane,
4051
+ onSettingsChange?: () => void,
4052
+ flatLayout?: boolean,
4053
+ ): ISubPanePropertyItem;
3669
4054
  createShape(): RelativeVolumeListBlockVolume;
4055
+ createShapeAsync(
4056
+ cancelToken?: {
4057
+ cancelled: boolean;
4058
+ },
4059
+ yieldInterval?: number,
4060
+ ): Promise<RelativeVolumeListBlockVolume>;
4061
+ estimateBlockCount(): number;
3670
4062
  getSettings(): PyramidBrushShapeSettings;
3671
4063
  }
3672
4064
 
@@ -3975,8 +4367,16 @@ export declare class SingleBlockBrushShape extends BrushShape {
3975
4367
  */
3976
4368
  constructor();
3977
4369
  applySetting(_settings: BrushShapeSettings): void;
4370
+ calculateBounds(): minecraftserver.BlockBoundingBox;
3978
4371
  createSettingsPane(): undefined;
3979
4372
  createShape(): RelativeVolumeListBlockVolume;
4373
+ createShapeAsync(
4374
+ _cancelToken?: {
4375
+ cancelled: boolean;
4376
+ },
4377
+ _yieldInterval?: number,
4378
+ ): Promise<RelativeVolumeListBlockVolume>;
4379
+ estimateBlockCount(): number;
3980
4380
  getSettings(): BrushShapeSettings;
3981
4381
  }
3982
4382
 
@@ -4504,8 +4904,14 @@ export class Widget {
4504
4904
  primitiveType:
4505
4905
  | WidgetComponentRenderPrimitiveTypeAxialSphere
4506
4906
  | WidgetComponentRenderPrimitiveTypeBox
4907
+ | WidgetComponentRenderPrimitiveTypeCone
4908
+ | WidgetComponentRenderPrimitiveTypeCuboid
4909
+ | WidgetComponentRenderPrimitiveTypeCylinder
4507
4910
  | WidgetComponentRenderPrimitiveTypeDisc
4508
- | WidgetComponentRenderPrimitiveTypeLine,
4911
+ | WidgetComponentRenderPrimitiveTypeEllipsoid
4912
+ | WidgetComponentRenderPrimitiveTypeLine
4913
+ | WidgetComponentRenderPrimitiveTypePyramid
4914
+ | WidgetComponentRenderPrimitiveTypeWireframeMesh,
4509
4915
  options?: WidgetComponentRenderPrimitiveOptions,
4510
4916
  ): WidgetComponentRenderPrimitive;
4511
4917
  /**
@@ -4855,8 +5261,14 @@ export class WidgetComponentRenderPrimitive extends WidgetComponentBase {
4855
5261
  primitive:
4856
5262
  | WidgetComponentRenderPrimitiveTypeAxialSphere
4857
5263
  | WidgetComponentRenderPrimitiveTypeBox
5264
+ | WidgetComponentRenderPrimitiveTypeCone
5265
+ | WidgetComponentRenderPrimitiveTypeCuboid
5266
+ | WidgetComponentRenderPrimitiveTypeCylinder
4858
5267
  | WidgetComponentRenderPrimitiveTypeDisc
4859
- | WidgetComponentRenderPrimitiveTypeLine,
5268
+ | WidgetComponentRenderPrimitiveTypeEllipsoid
5269
+ | WidgetComponentRenderPrimitiveTypeLine
5270
+ | WidgetComponentRenderPrimitiveTypePyramid
5271
+ | WidgetComponentRenderPrimitiveTypeWireframeMesh,
4860
5272
  ): void;
4861
5273
  }
4862
5274
 
@@ -4918,7 +5330,13 @@ export class WidgetComponentRenderPrimitiveTypeBox extends WidgetComponentRender
4918
5330
  }
4919
5331
 
4920
5332
  // @ts-ignore Class inheritance allowed for native defined classes
4921
- export class WidgetComponentRenderPrimitiveTypeDisc extends WidgetComponentRenderPrimitiveTypeBase {
5333
+ export class WidgetComponentRenderPrimitiveTypeCone extends WidgetComponentRenderPrimitiveTypeBase {
5334
+ /**
5335
+ * @remarks
5336
+ * This property can't be edited in restricted-execution mode.
5337
+ *
5338
+ */
5339
+ alpha?: number;
4922
5340
  /**
4923
5341
  * @remarks
4924
5342
  * This property can't be edited in restricted-execution mode.
@@ -4936,1087 +5354,1888 @@ export class WidgetComponentRenderPrimitiveTypeDisc extends WidgetComponentRende
4936
5354
  * This property can't be edited in restricted-execution mode.
4937
5355
  *
4938
5356
  */
4939
- radius: number;
4940
- constructor(center: minecraftserver.Vector3, radius: number, color: minecraftserver.RGBA);
4941
- }
4942
-
4943
- // @ts-ignore Class inheritance allowed for native defined classes
4944
- export class WidgetComponentRenderPrimitiveTypeLine extends WidgetComponentRenderPrimitiveTypeBase {
5357
+ height: number;
4945
5358
  /**
4946
5359
  * @remarks
4947
5360
  * This property can't be edited in restricted-execution mode.
4948
5361
  *
4949
5362
  */
4950
- color: minecraftserver.RGBA;
5363
+ numSegments?: number;
4951
5364
  /**
4952
5365
  * @remarks
4953
5366
  * This property can't be edited in restricted-execution mode.
4954
5367
  *
4955
5368
  */
4956
- end: minecraftserver.Vector3;
5369
+ radiusX: number;
4957
5370
  /**
4958
5371
  * @remarks
4959
5372
  * This property can't be edited in restricted-execution mode.
4960
5373
  *
4961
5374
  */
4962
- start: minecraftserver.Vector3;
4963
- constructor(start: minecraftserver.Vector3, end: minecraftserver.Vector3, color: minecraftserver.RGBA);
5375
+ radiusZ: number;
5376
+ /**
5377
+ * @remarks
5378
+ * This property can't be edited in restricted-execution mode.
5379
+ *
5380
+ */
5381
+ rotation?: minecraftserver.Vector3;
5382
+ constructor(
5383
+ center: minecraftserver.Vector3,
5384
+ radiusX: number,
5385
+ radiusZ: number,
5386
+ height: number,
5387
+ color: minecraftserver.RGBA,
5388
+ numSegments?: number,
5389
+ rotation?: minecraftserver.Vector3,
5390
+ alpha?: number,
5391
+ );
4964
5392
  }
4965
5393
 
4966
5394
  // @ts-ignore Class inheritance allowed for native defined classes
4967
- export class WidgetComponentSpline extends WidgetComponentBase {
4968
- private constructor();
5395
+ export class WidgetComponentRenderPrimitiveTypeCuboid extends WidgetComponentRenderPrimitiveTypeBase {
4969
5396
  /**
4970
5397
  * @remarks
4971
5398
  * This property can't be edited in restricted-execution mode.
4972
5399
  *
4973
5400
  */
4974
- splineType: SplineType;
5401
+ alpha?: number;
4975
5402
  /**
4976
5403
  * @remarks
4977
- * This function can't be called in restricted-execution mode.
4978
- *
4979
- * @throws This function can throw errors.
4980
- *
4981
- * {@link Error}
4982
- *
4983
- * {@link InvalidWidgetComponentError}
5404
+ * This property can't be edited in restricted-execution mode.
4984
5405
  *
4985
- * {@link InvalidWidgetError}
4986
5406
  */
4987
- getControlPoints(): Widget[];
5407
+ center: minecraftserver.Vector3;
4988
5408
  /**
4989
5409
  * @remarks
4990
- * This function can't be called in restricted-execution mode.
5410
+ * This property can't be edited in restricted-execution mode.
4991
5411
  *
4992
- * @throws This function can throw errors.
4993
5412
  */
4994
- getInterpolatedPoints(maxPointsPerControlSegment?: number): minecraftserver.Vector3[];
5413
+ color: minecraftserver.RGBA;
4995
5414
  /**
4996
5415
  * @remarks
4997
- * This function can't be called in restricted-execution mode.
4998
- *
4999
- * @throws This function can throw errors.
5000
- *
5001
- * {@link InvalidWidgetComponentError}
5416
+ * This property can't be edited in restricted-execution mode.
5002
5417
  *
5003
- * {@link InvalidWidgetError}
5004
5418
  */
5005
- setControlPoints(widgetList: Widget[]): void;
5006
- }
5007
-
5008
- // @ts-ignore Class inheritance allowed for native defined classes
5009
- export class WidgetComponentText extends WidgetComponentBase {
5010
- private constructor();
5419
+ lengthX: number;
5011
5420
  /**
5012
5421
  * @remarks
5013
5422
  * This property can't be edited in restricted-execution mode.
5014
5423
  *
5015
5424
  */
5016
- color: minecraftserver.RGBA;
5425
+ lengthY: number;
5017
5426
  /**
5018
5427
  * @remarks
5019
5428
  * This property can't be edited in restricted-execution mode.
5020
5429
  *
5021
5430
  */
5022
- label: string;
5023
- }
5431
+ lengthZ: number;
5432
+ /**
5433
+ * @remarks
5434
+ * This property can't be edited in restricted-execution mode.
5435
+ *
5436
+ */
5437
+ rotation?: minecraftserver.Vector3;
5438
+ constructor(
5439
+ center: minecraftserver.Vector3,
5440
+ lengthX: number,
5441
+ lengthY: number,
5442
+ lengthZ: number,
5443
+ color: minecraftserver.RGBA,
5444
+ rotation?: minecraftserver.Vector3,
5445
+ alpha?: number,
5446
+ );
5447
+ }
5024
5448
 
5025
5449
  // @ts-ignore Class inheritance allowed for native defined classes
5026
- export class WidgetComponentVolumeOutline extends WidgetComponentBase {
5027
- private constructor();
5450
+ export class WidgetComponentRenderPrimitiveTypeCylinder extends WidgetComponentRenderPrimitiveTypeBase {
5028
5451
  /**
5029
5452
  * @remarks
5030
5453
  * This property can't be edited in restricted-execution mode.
5031
5454
  *
5032
5455
  */
5033
- highlightHullColor: minecraftserver.RGBA;
5456
+ alpha?: number;
5034
5457
  /**
5035
5458
  * @remarks
5036
5459
  * This property can't be edited in restricted-execution mode.
5037
5460
  *
5038
5461
  */
5039
- highlightOutlineColor: minecraftserver.RGBA;
5462
+ center: minecraftserver.Vector3;
5040
5463
  /**
5041
5464
  * @remarks
5042
5465
  * This property can't be edited in restricted-execution mode.
5043
5466
  *
5044
5467
  */
5045
- hullColor: minecraftserver.RGBA;
5468
+ color: minecraftserver.RGBA;
5046
5469
  /**
5047
5470
  * @remarks
5048
5471
  * This property can't be edited in restricted-execution mode.
5049
5472
  *
5050
5473
  */
5051
- mirror: minecraftserver.StructureMirrorAxis;
5474
+ height: number;
5052
5475
  /**
5053
5476
  * @remarks
5054
5477
  * This property can't be edited in restricted-execution mode.
5055
5478
  *
5056
5479
  */
5057
- normalizedOrigin: minecraftserver.Vector3;
5480
+ radiusX: number;
5058
5481
  /**
5059
5482
  * @remarks
5060
5483
  * This property can't be edited in restricted-execution mode.
5061
5484
  *
5062
5485
  */
5063
- outlineColor: minecraftserver.RGBA;
5486
+ radiusZ: number;
5064
5487
  /**
5065
5488
  * @remarks
5066
5489
  * This property can't be edited in restricted-execution mode.
5067
5490
  *
5068
5491
  */
5069
- rotation: minecraftserver.StructureRotation;
5492
+ rotation?: minecraftserver.Vector3;
5493
+ constructor(
5494
+ center: minecraftserver.Vector3,
5495
+ radiusX: number,
5496
+ radiusZ: number,
5497
+ height: number,
5498
+ color: minecraftserver.RGBA,
5499
+ rotation?: minecraftserver.Vector3,
5500
+ alpha?: number,
5501
+ );
5502
+ }
5503
+
5504
+ // @ts-ignore Class inheritance allowed for native defined classes
5505
+ export class WidgetComponentRenderPrimitiveTypeDisc extends WidgetComponentRenderPrimitiveTypeBase {
5070
5506
  /**
5071
5507
  * @remarks
5072
5508
  * This property can't be edited in restricted-execution mode.
5073
5509
  *
5074
5510
  */
5075
- showHighlightOutline: boolean;
5511
+ center: minecraftserver.Vector3;
5076
5512
  /**
5077
5513
  * @remarks
5078
5514
  * This property can't be edited in restricted-execution mode.
5079
5515
  *
5080
5516
  */
5081
- showOutline: boolean;
5517
+ color: minecraftserver.RGBA;
5082
5518
  /**
5083
- * @throws This property can throw when used.
5519
+ * @remarks
5520
+ * This property can't be edited in restricted-execution mode.
5084
5521
  *
5085
- * {@link InvalidWidgetComponentError}
5086
5522
  */
5087
- readonly transformedWorldVolume: minecraftserver.BlockVolume;
5523
+ radius: number;
5524
+ constructor(center: minecraftserver.Vector3, radius: number, color: minecraftserver.RGBA);
5525
+ }
5526
+
5527
+ // @ts-ignore Class inheritance allowed for native defined classes
5528
+ export class WidgetComponentRenderPrimitiveTypeEllipsoid extends WidgetComponentRenderPrimitiveTypeBase {
5088
5529
  /**
5089
5530
  * @remarks
5090
5531
  * This property can't be edited in restricted-execution mode.
5091
5532
  *
5092
5533
  */
5093
- volumeOffset: minecraftserver.Vector3;
5534
+ alpha?: number;
5094
5535
  /**
5095
5536
  * @remarks
5096
- * This function can't be called in restricted-execution mode.
5537
+ * This property can't be edited in restricted-execution mode.
5097
5538
  *
5098
- * @throws This function can throw errors.
5539
+ */
5540
+ center: minecraftserver.Vector3;
5541
+ /**
5542
+ * @remarks
5543
+ * This property can't be edited in restricted-execution mode.
5099
5544
  *
5100
- * {@link InvalidWidgetComponentError}
5101
5545
  */
5102
- getVolume(): RelativeVolumeListBlockVolume | undefined;
5546
+ color: minecraftserver.RGBA;
5103
5547
  /**
5104
5548
  * @remarks
5105
- * This function can't be called in restricted-execution mode.
5549
+ * This property can't be edited in restricted-execution mode.
5106
5550
  *
5107
- * @throws This function can throw errors.
5551
+ */
5552
+ radii: minecraftserver.Vector3;
5553
+ /**
5554
+ * @remarks
5555
+ * This property can't be edited in restricted-execution mode.
5108
5556
  *
5109
- * {@link InvalidWidgetComponentError}
5110
5557
  */
5111
- setVolume(
5112
- volumeToSet?:
5113
- | minecraftserver.Vector3[]
5114
- | minecraftserver.BlockVolume
5115
- | minecraftserver.BlockVolumeBase
5116
- | RelativeVolumeListBlockVolume
5117
- | minecraftserver.Vector3,
5118
- ): void;
5558
+ rotation?: minecraftserver.Vector3;
5559
+ constructor(
5560
+ center: minecraftserver.Vector3,
5561
+ radii: minecraftserver.Vector3,
5562
+ color: minecraftserver.RGBA,
5563
+ rotation?: minecraftserver.Vector3,
5564
+ alpha?: number,
5565
+ );
5119
5566
  }
5120
5567
 
5121
- export class WidgetGroup {
5122
- private constructor();
5568
+ // @ts-ignore Class inheritance allowed for native defined classes
5569
+ export class WidgetComponentRenderPrimitiveTypeLine extends WidgetComponentRenderPrimitiveTypeBase {
5123
5570
  /**
5124
- * @throws This property can throw when used.
5571
+ * @remarks
5572
+ * This property can't be edited in restricted-execution mode.
5125
5573
  *
5126
- * {@link InvalidWidgetGroupError}
5127
5574
  */
5128
- readonly selectedWidgetCount: number;
5575
+ color: minecraftserver.RGBA;
5129
5576
  /**
5130
5577
  * @remarks
5131
5578
  * This property can't be edited in restricted-execution mode.
5132
5579
  *
5133
5580
  */
5134
- visible: boolean;
5581
+ end: minecraftserver.Vector3;
5135
5582
  /**
5136
5583
  * @remarks
5137
5584
  * This property can't be edited in restricted-execution mode.
5138
5585
  *
5139
5586
  */
5140
- visibleBounds: boolean;
5587
+ start: minecraftserver.Vector3;
5588
+ constructor(start: minecraftserver.Vector3, end: minecraftserver.Vector3, color: minecraftserver.RGBA);
5589
+ }
5590
+
5591
+ // @ts-ignore Class inheritance allowed for native defined classes
5592
+ export class WidgetComponentRenderPrimitiveTypePyramid extends WidgetComponentRenderPrimitiveTypeBase {
5141
5593
  /**
5142
5594
  * @remarks
5143
- * This function can't be called in restricted-execution mode.
5595
+ * This property can't be edited in restricted-execution mode.
5144
5596
  *
5145
- * @throws This function can throw errors.
5146
5597
  */
5147
- createWidget(location: minecraftserver.Vector3, options?: WidgetCreateOptions): Widget;
5598
+ alpha?: number;
5148
5599
  /**
5149
5600
  * @remarks
5150
- * This function can't be called in restricted-execution mode.
5601
+ * This property can't be edited in restricted-execution mode.
5151
5602
  *
5152
5603
  */
5153
- delete(): void;
5604
+ center: minecraftserver.Vector3;
5154
5605
  /**
5155
5606
  * @remarks
5156
- * This function can't be called in restricted-execution mode.
5607
+ * This property can't be edited in restricted-execution mode.
5157
5608
  *
5158
- * @throws This function can throw errors.
5159
5609
  */
5160
- deleteWidget(widgetToDelete: Widget): void;
5610
+ color: minecraftserver.RGBA;
5161
5611
  /**
5162
5612
  * @remarks
5163
- * This function can't be called in restricted-execution mode.
5613
+ * This property can't be edited in restricted-execution mode.
5164
5614
  *
5165
- * @throws This function can throw errors.
5615
+ */
5616
+ height: number;
5617
+ /**
5618
+ * @remarks
5619
+ * This property can't be edited in restricted-execution mode.
5166
5620
  *
5167
- * {@link InvalidWidgetGroupError}
5168
5621
  */
5169
- deselectAllWidgets(): void;
5622
+ rotation?: minecraftserver.Vector3;
5170
5623
  /**
5171
5624
  * @remarks
5172
- * This function can't be called in restricted-execution mode.
5625
+ * This property can't be edited in restricted-execution mode.
5173
5626
  *
5174
- * @throws This function can throw errors.
5627
+ */
5628
+ widthX: number;
5629
+ /**
5630
+ * @remarks
5631
+ * This property can't be edited in restricted-execution mode.
5175
5632
  *
5176
- * {@link InvalidWidgetGroupError}
5177
5633
  */
5178
- selectAllWidgets(): void;
5634
+ widthZ?: number;
5635
+ constructor(
5636
+ center: minecraftserver.Vector3,
5637
+ widthX: number,
5638
+ height: number,
5639
+ color: minecraftserver.RGBA,
5640
+ widthZ?: number,
5641
+ rotation?: minecraftserver.Vector3,
5642
+ alpha?: number,
5643
+ );
5179
5644
  }
5180
5645
 
5181
- export class WidgetManager {
5182
- private constructor();
5646
+ // @ts-ignore Class inheritance allowed for native defined classes
5647
+ export class WidgetComponentRenderPrimitiveTypeWireframeMesh extends WidgetComponentRenderPrimitiveTypeBase {
5183
5648
  /**
5184
5649
  * @remarks
5185
- * This function can't be called in restricted-execution mode.
5650
+ * This property can't be edited in restricted-execution mode.
5186
5651
  *
5187
- * @throws This function can throw errors.
5188
5652
  */
5189
- createGroup(options?: WidgetGroupCreateOptions): WidgetGroup;
5653
+ alpha?: number;
5190
5654
  /**
5191
5655
  * @remarks
5192
- * This function can't be called in restricted-execution mode.
5656
+ * This property can't be edited in restricted-execution mode.
5193
5657
  *
5194
- * @throws This function can throw errors.
5195
5658
  */
5196
- deleteGroup(groupToDelete: WidgetGroup): void;
5197
- }
5198
-
5199
- export class WidgetMouseButtonEventData {
5200
- private constructor();
5201
- readonly action: WidgetMouseButtonActionType;
5202
- readonly altPressed: boolean;
5203
- readonly controlPressed: boolean;
5204
- readonly shiftPressed: boolean;
5205
- }
5206
-
5207
- export class WidgetStateChangeEventData {
5208
- private constructor();
5209
- readonly group: WidgetGroup;
5210
- readonly location?: minecraftserver.Vector3;
5211
- readonly mouseEvent?: WidgetMouseButtonEventData;
5212
- readonly selected?: boolean;
5213
- readonly visible?: boolean;
5214
- readonly widget: Widget;
5215
- }
5216
-
5217
- /**
5218
- * Binds actions to the client and manages their lifetime.
5219
- * Action managers are managed on a per player basis since
5220
- * client side UI is per player.
5221
- */
5222
- export interface ActionManager {
5659
+ center: minecraftserver.Vector3;
5223
5660
  /**
5224
5661
  * @remarks
5225
- * Creates an action and registers it on the client
5662
+ * This property can't be edited in restricted-execution mode.
5226
5663
  *
5227
- * @param rawAction
5228
- * The raw action to create. See ActionTypes for supported
5229
- * parameters
5230
5664
  */
5231
- createAction<T extends Action>(rawAction: T): RegisteredAction<T>;
5232
- }
5233
-
5234
- export interface BlockMaskList {
5235
- blockList: (minecraftserver.BlockPermutation | minecraftserver.BlockType | string)[];
5236
- maskType: BlockMaskListType;
5237
- }
5238
-
5239
- /**
5240
- * Represents a UI session for a given player
5241
- */
5242
- export interface BuiltInUIManager {
5665
+ color: minecraftserver.RGBA;
5243
5666
  /**
5244
5667
  * @remarks
5245
- * Activates tutorial overlay
5668
+ * This property can't be edited in restricted-execution mode.
5246
5669
  *
5247
5670
  */
5248
- activateTutorial(): void;
5671
+ meshId: string;
5249
5672
  /**
5250
5673
  * @remarks
5251
- * Navigates to the documentation site.
5674
+ * This property can't be edited in restricted-execution mode.
5252
5675
  *
5253
5676
  */
5254
- navigateToDocumentation(): void;
5677
+ rotation?: minecraftserver.Vector3;
5255
5678
  /**
5256
5679
  * @remarks
5257
- * Navigates to the feedback site
5680
+ * This property can't be edited in restricted-execution mode.
5258
5681
  *
5259
5682
  */
5260
- navigateToFeedback(): void;
5683
+ scale?: minecraftserver.Vector3;
5684
+ constructor(
5685
+ center: minecraftserver.Vector3,
5686
+ meshId: string,
5687
+ color: minecraftserver.RGBA,
5688
+ options?: WireframeMeshOptions,
5689
+ );
5690
+ }
5691
+
5692
+ // @ts-ignore Class inheritance allowed for native defined classes
5693
+ export class WidgetComponentSpline extends WidgetComponentBase {
5694
+ private constructor();
5261
5695
  /**
5262
5696
  * @remarks
5263
- * Navigates to the pause screen
5697
+ * This property can't be edited in restricted-execution mode.
5264
5698
  *
5265
5699
  */
5266
- navigateToPauseScreen(): void;
5700
+ splineType: SplineType;
5267
5701
  /**
5268
5702
  * @remarks
5269
- * Navigates to the github-samples site
5703
+ * This function can't be called in restricted-execution mode.
5704
+ *
5705
+ * @throws This function can throw errors.
5270
5706
  *
5707
+ * {@link Error}
5708
+ *
5709
+ * {@link InvalidWidgetComponentError}
5710
+ *
5711
+ * {@link InvalidWidgetError}
5271
5712
  */
5272
- navigateToSamples(): void;
5713
+ getControlPoints(): Widget[];
5273
5714
  /**
5274
5715
  * @remarks
5275
- * Saves levels & exits back to Editor main menu.
5716
+ * This function can't be called in restricted-execution mode.
5276
5717
  *
5718
+ * @throws This function can throw errors.
5277
5719
  */
5278
- saveAndExit(): void;
5720
+ getInterpolatedPoints(maxPointsPerControlSegment?: number): minecraftserver.Vector3[];
5279
5721
  /**
5280
5722
  * @remarks
5281
- * Updates the visibility of the log panel
5723
+ * This function can't be called in restricted-execution mode.
5724
+ *
5725
+ * @throws This function can throw errors.
5282
5726
  *
5727
+ * {@link InvalidWidgetComponentError}
5728
+ *
5729
+ * {@link InvalidWidgetError}
5283
5730
  */
5284
- updateLogPanelVisibility(visibility: boolean): void;
5731
+ setControlPoints(widgetList: Widget[]): void;
5732
+ }
5733
+
5734
+ // @ts-ignore Class inheritance allowed for native defined classes
5735
+ export class WidgetComponentText extends WidgetComponentBase {
5736
+ private constructor();
5285
5737
  /**
5286
5738
  * @remarks
5287
- * Updates the visibility of the control demo
5739
+ * This property can't be edited in restricted-execution mode.
5288
5740
  *
5289
5741
  */
5290
- updateUISettingsPanelVisibility(visibility: boolean): void;
5742
+ color: minecraftserver.RGBA;
5291
5743
  /**
5292
5744
  * @remarks
5293
- * Updates the visibility of the welcome panel
5745
+ * This property can't be edited in restricted-execution mode.
5294
5746
  *
5295
5747
  */
5296
- updateWelcomePanelVisibility(visibility: boolean): void;
5748
+ label: string;
5297
5749
  }
5298
5750
 
5299
- /**
5300
- * Interface used to specify the options when a clipboard item
5301
- * is being written to the world
5302
- */
5303
- export interface ClipboardWriteOptions {
5751
+ // @ts-ignore Class inheritance allowed for native defined classes
5752
+ export class WidgetComponentVolumeOutline extends WidgetComponentBase {
5753
+ private constructor();
5304
5754
  /**
5305
5755
  * @remarks
5306
- * An enum which represents the axis (or combination of axis')
5307
- * along which the item should be mirrored
5308
- * - X
5309
- * - Z
5310
- * - XZ
5756
+ * This property can't be edited in restricted-execution mode.
5311
5757
  *
5312
5758
  */
5313
- mirror?: minecraftserver.StructureMirrorAxis;
5314
- normalizedOrigin?: minecraftserver.Vector3;
5759
+ highlightHullColor: minecraftserver.RGBA;
5315
5760
  /**
5316
5761
  * @remarks
5317
- * A position offset which should be applied to the paste
5318
- * location while the clipboard item is being written
5762
+ * This property can't be edited in restricted-execution mode.
5319
5763
  *
5320
5764
  */
5321
- offset?: minecraftserver.Vector3;
5765
+ highlightOutlineColor: minecraftserver.RGBA;
5322
5766
  /**
5323
5767
  * @remarks
5324
- * An enum representing the rotation around the Y-Axis which
5325
- * should be applied while the clipboard item is being written
5768
+ * This property can't be edited in restricted-execution mode.
5326
5769
  *
5327
5770
  */
5328
- rotation?: minecraftserver.StructureRotation;
5329
- }
5330
-
5331
- /**
5332
- * Settings for Cone brush shapes
5771
+ hullColor: minecraftserver.RGBA;
5772
+ /**
5773
+ * @remarks
5774
+ * This property can't be edited in restricted-execution mode.
5775
+ *
5776
+ */
5777
+ mirror: minecraftserver.StructureMirrorAxis;
5778
+ /**
5779
+ * @remarks
5780
+ * This property can't be edited in restricted-execution mode.
5781
+ *
5782
+ */
5783
+ normalizedOrigin: minecraftserver.Vector3;
5784
+ /**
5785
+ * @remarks
5786
+ * This property can't be edited in restricted-execution mode.
5787
+ *
5788
+ */
5789
+ outlineColor: minecraftserver.RGBA;
5790
+ /**
5791
+ * @remarks
5792
+ * This property can't be edited in restricted-execution mode.
5793
+ *
5794
+ */
5795
+ rotation: minecraftserver.StructureRotation;
5796
+ /**
5797
+ * @remarks
5798
+ * This property can't be edited in restricted-execution mode.
5799
+ *
5800
+ */
5801
+ showHighlightOutline: boolean;
5802
+ /**
5803
+ * @remarks
5804
+ * This property can't be edited in restricted-execution mode.
5805
+ *
5806
+ */
5807
+ showOutline: boolean;
5808
+ /**
5809
+ * @throws This property can throw when used.
5810
+ *
5811
+ * {@link InvalidWidgetComponentError}
5812
+ */
5813
+ readonly transformedWorldVolume: minecraftserver.BlockVolume;
5814
+ /**
5815
+ * @remarks
5816
+ * This property can't be edited in restricted-execution mode.
5817
+ *
5818
+ */
5819
+ volumeOffset: minecraftserver.Vector3;
5820
+ /**
5821
+ * @remarks
5822
+ * This function can't be called in restricted-execution mode.
5823
+ *
5824
+ * @throws This function can throw errors.
5825
+ *
5826
+ * {@link InvalidWidgetComponentError}
5827
+ */
5828
+ getVolume(): RelativeVolumeListBlockVolume | undefined;
5829
+ /**
5830
+ * @remarks
5831
+ * This function can't be called in restricted-execution mode.
5832
+ *
5833
+ * @throws This function can throw errors.
5834
+ *
5835
+ * {@link InvalidWidgetComponentError}
5836
+ */
5837
+ setVolume(
5838
+ volumeToSet?:
5839
+ | minecraftserver.Vector3[]
5840
+ | minecraftserver.BlockVolume
5841
+ | minecraftserver.BlockVolumeBase
5842
+ | RelativeVolumeListBlockVolume
5843
+ | minecraftserver.Vector3,
5844
+ ): void;
5845
+ }
5846
+
5847
+ export class WidgetGroup {
5848
+ private constructor();
5849
+ /**
5850
+ * @throws This property can throw when used.
5851
+ *
5852
+ * {@link InvalidWidgetGroupError}
5853
+ */
5854
+ readonly selectedWidgetCount: number;
5855
+ /**
5856
+ * @remarks
5857
+ * This property can't be edited in restricted-execution mode.
5858
+ *
5859
+ */
5860
+ visible: boolean;
5861
+ /**
5862
+ * @remarks
5863
+ * This property can't be edited in restricted-execution mode.
5864
+ *
5865
+ */
5866
+ visibleBounds: boolean;
5867
+ /**
5868
+ * @remarks
5869
+ * This function can't be called in restricted-execution mode.
5870
+ *
5871
+ * @throws This function can throw errors.
5872
+ */
5873
+ createWidget(location: minecraftserver.Vector3, options?: WidgetCreateOptions): Widget;
5874
+ /**
5875
+ * @remarks
5876
+ * This function can't be called in restricted-execution mode.
5877
+ *
5878
+ */
5879
+ delete(): void;
5880
+ /**
5881
+ * @remarks
5882
+ * This function can't be called in restricted-execution mode.
5883
+ *
5884
+ * @throws This function can throw errors.
5885
+ */
5886
+ deleteWidget(widgetToDelete: Widget): void;
5887
+ /**
5888
+ * @remarks
5889
+ * This function can't be called in restricted-execution mode.
5890
+ *
5891
+ * @throws This function can throw errors.
5892
+ *
5893
+ * {@link InvalidWidgetGroupError}
5894
+ */
5895
+ deselectAllWidgets(): void;
5896
+ /**
5897
+ * @remarks
5898
+ * This function can't be called in restricted-execution mode.
5899
+ *
5900
+ * @throws This function can throw errors.
5901
+ *
5902
+ * {@link InvalidWidgetGroupError}
5903
+ */
5904
+ selectAllWidgets(): void;
5905
+ }
5906
+
5907
+ export class WidgetManager {
5908
+ private constructor();
5909
+ /**
5910
+ * @remarks
5911
+ * This function can't be called in restricted-execution mode.
5912
+ *
5913
+ * @throws This function can throw errors.
5914
+ */
5915
+ createGroup(options?: WidgetGroupCreateOptions): WidgetGroup;
5916
+ /**
5917
+ * @remarks
5918
+ * This function can't be called in restricted-execution mode.
5919
+ *
5920
+ * @throws This function can throw errors.
5921
+ */
5922
+ deleteGroup(groupToDelete: WidgetGroup): void;
5923
+ }
5924
+
5925
+ export class WidgetMouseButtonEventData {
5926
+ private constructor();
5927
+ readonly action: WidgetMouseButtonActionType;
5928
+ readonly altPressed: boolean;
5929
+ readonly controlPressed: boolean;
5930
+ readonly shiftPressed: boolean;
5931
+ }
5932
+
5933
+ export class WidgetStateChangeEventData {
5934
+ private constructor();
5935
+ readonly group: WidgetGroup;
5936
+ readonly location?: minecraftserver.Vector3;
5937
+ readonly mouseEvent?: WidgetMouseButtonEventData;
5938
+ readonly selected?: boolean;
5939
+ readonly visible?: boolean;
5940
+ readonly widget: Widget;
5941
+ }
5942
+
5943
+ /**
5944
+ * Binds actions to the client and manages their lifetime.
5945
+ * Action managers are managed on a per player basis since
5946
+ * client side UI is per player.
5947
+ */
5948
+ export interface ActionManager {
5949
+ /**
5950
+ * @remarks
5951
+ * Creates an action and registers it on the client
5952
+ *
5953
+ * @param rawAction
5954
+ * The raw action to create. See ActionTypes for supported
5955
+ * parameters
5956
+ */
5957
+ createAction<T extends Action>(rawAction: T): RegisteredAction<T>;
5958
+ }
5959
+
5960
+ export interface BlockMaskList {
5961
+ blockList: (minecraftserver.BlockPermutation | minecraftserver.BlockType | string)[];
5962
+ maskType: BlockMaskListType;
5963
+ }
5964
+
5965
+ /**
5966
+ * Represents a UI session for a given player
5967
+ */
5968
+ export interface BuiltInUIManager {
5969
+ /**
5970
+ * @remarks
5971
+ * Activates tutorial overlay
5972
+ *
5973
+ */
5974
+ activateTutorial(): void;
5975
+ /**
5976
+ * @remarks
5977
+ * Navigates to the documentation site.
5978
+ *
5979
+ */
5980
+ navigateToDocumentation(): void;
5981
+ /**
5982
+ * @remarks
5983
+ * Navigates to the feedback site
5984
+ *
5985
+ */
5986
+ navigateToFeedback(): void;
5987
+ /**
5988
+ * @remarks
5989
+ * Navigates to the pause screen
5990
+ *
5991
+ */
5992
+ navigateToPauseScreen(): void;
5993
+ /**
5994
+ * @remarks
5995
+ * Navigates to the github-samples site
5996
+ *
5997
+ */
5998
+ navigateToSamples(): void;
5999
+ /**
6000
+ * @remarks
6001
+ * Saves levels & exits back to Editor main menu.
6002
+ *
6003
+ */
6004
+ saveAndExit(): void;
6005
+ /**
6006
+ * @remarks
6007
+ * Updates the visibility of the log panel
6008
+ *
6009
+ */
6010
+ updateLogPanelVisibility(visibility: boolean): void;
6011
+ /**
6012
+ * @remarks
6013
+ * Updates the visibility of the control demo
6014
+ *
6015
+ */
6016
+ updateUISettingsPanelVisibility(visibility: boolean): void;
6017
+ /**
6018
+ * @remarks
6019
+ * Updates the visibility of the welcome panel
6020
+ *
6021
+ */
6022
+ updateWelcomePanelVisibility(visibility: boolean): void;
6023
+ }
6024
+
6025
+ /**
6026
+ * Interface used to specify the options when a clipboard item
6027
+ * is being written to the world
6028
+ */
6029
+ export interface ClipboardWriteOptions {
6030
+ excludeAirBlocks?: boolean;
6031
+ /**
6032
+ * @remarks
6033
+ * An enum which represents the axis (or combination of axis')
6034
+ * along which the item should be mirrored
6035
+ * - X
6036
+ * - Z
6037
+ * - XZ
6038
+ *
6039
+ */
6040
+ mirror?: minecraftserver.StructureMirrorAxis;
6041
+ normalizedOrigin?: minecraftserver.Vector3;
6042
+ /**
6043
+ * @remarks
6044
+ * A position offset which should be applied to the paste
6045
+ * location while the clipboard item is being written
6046
+ *
6047
+ */
6048
+ offset?: minecraftserver.Vector3;
6049
+ /**
6050
+ * @remarks
6051
+ * An enum representing the rotation around the Y-Axis which
6052
+ * should be applied while the clipboard item is being written
6053
+ *
6054
+ */
6055
+ rotation?: minecraftserver.StructureRotation;
6056
+ }
6057
+
6058
+ /**
6059
+ * Settings for Cone brush shapes
6060
+ */
6061
+ export interface ConeBrushShapeSettings {
6062
+ depth: number;
6063
+ height: number;
6064
+ hollow: boolean;
6065
+ radius: number;
6066
+ thickness: number;
6067
+ uniform: boolean;
6068
+ width: number;
6069
+ xRotation: number;
6070
+ yRotation: number;
6071
+ zRotation: number;
6072
+ }
6073
+
6074
+ export interface ContiguousSelectionProperties {
6075
+ checkForAdjacentFace?: boolean;
6076
+ contiguousSelectionBlockList?: string[];
6077
+ contiguousSelectionType?: ContiguousSelectionType;
6078
+ fullSelectionToleranceLevel?: number;
6079
+ isFace?: boolean;
6080
+ selectionDirection?: number;
6081
+ size?: number;
6082
+ startingLocation?: minecraftserver.Vector3;
6083
+ }
6084
+
6085
+ /**
6086
+ * Settings for Cuboid brush shapes
6087
+ */
6088
+ export interface CuboidBrushShapeSettings {
6089
+ depth: number;
6090
+ height: number;
6091
+ hollow: boolean;
6092
+ thickness: number;
6093
+ uniform: boolean;
6094
+ width: number;
6095
+ xRotation: number;
6096
+ yRotation: number;
6097
+ zRotation: number;
6098
+ }
6099
+
6100
+ export interface CursorPosition {
6101
+ FaceDirection: number;
6102
+ Position: minecraftserver.Vector3;
6103
+ }
6104
+
6105
+ /**
6106
+ * The CursorProperties interface is used to describe the
6107
+ * properties of the Editor 3D block cursor construct.
6108
+ * The 3D block cursor can be queried to retrieve the current
6109
+ * properties, and the same property class can be used to set
6110
+ * the current properties of the cursor.
6111
+ * This interface is generally used at the activation stage of
6112
+ * the active tool to set up the color, visibility and input
6113
+ * properties of the 3D block cursor
6114
+ */
6115
+ export interface CursorProperties {
6116
+ /**
6117
+ * @remarks
6118
+ * Enum representing the cursor control mode
6119
+ * - Fixed Mode locks the cursor to a position which is <X>
6120
+ * blocks offset from the current player position. The cursor
6121
+ * is camera relative, so it will always appear <X> blocks
6122
+ * ahead of the players feet
6123
+ * - Keyboard Mode puts the cursor under direct control of the
6124
+ * API, and ignores any mouse input. The cursor can only be
6125
+ * moved around using the moveBy method
6126
+ * - KeyboardAndMouse mode puts the cursor under a shared
6127
+ * control of onMouseMove and keyboard input. Any mouse
6128
+ * movement events will set the cursor to the position of the
6129
+ * mouse/world raycast. This can be modified using the moveBy
6130
+ * method, but any subsequent mouse events will reset the
6131
+ * position back to where the raycast intersection occurs
6132
+ * - Mouse mode puts the cursor under control of mouse move
6133
+ * events, and moveBy method will be ignored
6134
+ *
6135
+ *
6136
+ */
6137
+ controlMode?: CursorControlMode;
6138
+ fillColor?: minecraftserver.RGBA;
6139
+ /**
6140
+ * @remarks
6141
+ * The fixed distance from the players feet at which the cursor
6142
+ * is attached, relative to camera direction.
6143
+ * This is only used when [controlMode] is set to `Fixed`
6144
+ *
6145
+ */
6146
+ fixedModeDistance?: number;
6147
+ /**
6148
+ * @remarks
6149
+ * A [Color] Property representing the color of the block
6150
+ * cursor object outline
6151
+ *
6152
+ */
6153
+ outlineColor?: minecraftserver.RGBA;
6154
+ projectThroughLiquid?: boolean;
6155
+ /**
6156
+ * @remarks
6157
+ * An enum representing the cursor target mode
6158
+ * - Block Mode records the block position of the mouse/world
6159
+ * raycast intersection
6160
+ * - Face Mode records the block position of the block adjacent
6161
+ * to the mouse/world raycast intersection, according to the
6162
+ * face of the collision point of the selected block
6163
+ *
6164
+ */
6165
+ targetMode?: CursorTargetMode;
6166
+ /**
6167
+ * @remarks
6168
+ * Boolean flag controlling the visibility of the 3D block
6169
+ * cursor
6170
+ *
6171
+ */
6172
+ visible?: boolean;
6173
+ }
6174
+
6175
+ export interface CursorRay {
6176
+ end: minecraftserver.Vector3;
6177
+ hit: boolean;
6178
+ start: minecraftserver.Vector3;
6179
+ }
6180
+
6181
+ /**
6182
+ * Settings for Cylinder brush shapes
6183
+ */
6184
+ export interface CylinderBrushShapeSettings {
6185
+ depth: number;
6186
+ height: number;
6187
+ hollow: boolean;
6188
+ radius: number;
6189
+ thickness: number;
6190
+ uniform: boolean;
6191
+ width: number;
6192
+ xRotation: number;
6193
+ yRotation: number;
6194
+ zRotation: number;
6195
+ }
6196
+
6197
+ export interface EditorStructureSearchOptions {
6198
+ displayName?: string;
6199
+ id?: string;
6200
+ sources?: StructureSource[];
6201
+ structureName?: string;
6202
+ structureNamespace?: string;
6203
+ tags?: string[];
6204
+ }
6205
+
6206
+ /**
6207
+ * Settings for Ellipsoid brush shapes
6208
+ */
6209
+ export interface EllipsoidBrushShapeSettings {
6210
+ depth: number;
6211
+ height: number;
6212
+ hollow: boolean;
6213
+ radius: number;
6214
+ thickness: number;
6215
+ uniform: boolean;
6216
+ width: number;
6217
+ xRotation: number;
6218
+ yRotation: number;
6219
+ zRotation: number;
6220
+ }
6221
+
6222
+ /**
6223
+ * An event that can be subscribed to. You can use the token,
6224
+ * returned from the subscribe method, to clean up handlers.
6225
+ */
6226
+ export declare interface EventSink<T> {
6227
+ /**
6228
+ * @remarks
6229
+ * Subscribes an event handler to a particular subscription.
6230
+ *
6231
+ * @param handler
6232
+ * Handler function to subscribe with.
6233
+ * @returns
6234
+ * An event handler subscription token that can be used to
6235
+ * unsubscribe and clean-up handlers.
6236
+ */
6237
+ subscribe(handler: EventHandler<T>): IEventToken;
6238
+ }
6239
+
6240
+ /**
6241
+ * An interface which defines the set of optional parameters
6242
+ * which can be used when calling the `registerEditorExtension`
6243
+ * function
6244
+ */
6245
+ export interface ExtensionOptionalParameters {
6246
+ /**
6247
+ * @remarks
6248
+ * An optional text description of the extension being
6249
+ * registered.
6250
+ * This can be a straight textual description or a string
6251
+ * identifier key for a localized string in the extension's
6252
+ * resource pack text files.
6253
+ * The description is meant to be a very short snappy one-liner
6254
+ * which quickly and uniquely identifies the extension
6255
+ * The length of the string is capped to 256 characters
6256
+ *
6257
+ */
6258
+ description?: string;
6259
+ /**
6260
+ * @remarks
6261
+ * Optional notes for the extension being registered.
6262
+ * This can be a straight textual description or a string
6263
+ * identifier key for a localized string in the extension's
6264
+ * resource pack text files.
6265
+ * The notes section is meant to convey more detailed
6266
+ * information and notes (e.g. a link to the author's website)
6267
+ * The length of this string is capped to 1024 characters
6268
+ *
6269
+ */
6270
+ notes?: string;
6271
+ /**
6272
+ * @remarks
6273
+ * An optional custom identifier that will be used for all
6274
+ * Modal Tools created from the registered extension.
6275
+ * The length of the string is capped to 256 characters
6276
+ *
6277
+ */
6278
+ toolGroupId?: string;
6279
+ }
6280
+
6281
+ export interface GameOptions {
6282
+ bedsWork?: boolean;
6283
+ bonusChest?: boolean;
6284
+ cheats?: boolean;
6285
+ commandBlockEnabled?: boolean;
6286
+ commandBlockOutput?: boolean;
6287
+ daylightCycle?: DaylightCycle;
6288
+ difficulty?: minecraftserver.Difficulty;
6289
+ dimensionId?: string;
6290
+ disableWeather?: boolean;
6291
+ drowningDamage?: boolean;
6292
+ educationEdition?: boolean;
6293
+ entitiesDropLoot?: boolean;
6294
+ exportType?: ProjectExportType;
6295
+ fallDamage?: boolean;
6296
+ fireDamage?: boolean;
6297
+ fireSpreads?: boolean;
6298
+ freezeDamage?: boolean;
6299
+ friendlyFire?: boolean;
6300
+ functionCommandLimit?: number;
6301
+ gameMode?: minecraftserver.GameMode;
6302
+ hardcore?: boolean;
6303
+ immediateRespawn?: boolean;
6304
+ insomnia?: boolean;
6305
+ keepInventory?: boolean;
6306
+ keepPlayerData?: boolean;
6307
+ lanVisibility?: boolean;
6308
+ limitedCrafting?: boolean;
6309
+ maxCommandChainLength?: number;
6310
+ mobGriefing?: boolean;
6311
+ mobLoot?: boolean;
6312
+ mobSpawning?: boolean;
6313
+ multiplayerGame?: boolean;
6314
+ naturalRegeneration?: boolean;
6315
+ playerAccess?: GamePublishSetting;
6316
+ playerPermissions?: minecraftserver.PlayerPermissionLevel;
6317
+ playerWaypoints?: minecraftserver.PlayerWaypointsMode;
6318
+ randomTickSpeed?: number;
6319
+ recipeUnlocking?: boolean;
6320
+ respawnBlocksExplode?: boolean;
6321
+ respawnRadius?: number;
6322
+ sendCommandFeedback?: boolean;
6323
+ showBorderEffect?: boolean;
6324
+ showCoordinates?: boolean;
6325
+ showDaysPlayed?: boolean;
6326
+ showDeathMessage?: boolean;
6327
+ showItemTags?: boolean;
6328
+ simulationDistance?: number;
6329
+ sleepSkipPercent?: number;
6330
+ spawnPosition?: minecraftserver.Vector3;
6331
+ startingMap?: boolean;
6332
+ tileDrops?: boolean;
6333
+ timeOfDay?: number;
6334
+ tntExplodes?: boolean;
6335
+ weather?: number;
6336
+ worldName?: string;
6337
+ }
6338
+
6339
+ /**
6340
+ * Manager for IActionBarItem objects.
6341
+ */
6342
+ export interface IActionBar {
6343
+ /**
6344
+ * @remarks
6345
+ * Add a new action bar item to the collection.
6346
+ *
6347
+ * @param id
6348
+ * Unique item identifier.
6349
+ * @param action
6350
+ * Action to be invoked.
6351
+ * @param props
6352
+ * Configuration for the item to create.
6353
+ */
6354
+ registerItem(
6355
+ id: string,
6356
+ action: RegisteredAction<NoArgsAction>,
6357
+ props: IActionBarItemCreationParams,
6358
+ ): IActionBarItem;
6359
+ /**
6360
+ * @remarks
6361
+ * Remove an action item from the collection.
6362
+ *
6363
+ * @param id
6364
+ * Unique item identifier.
6365
+ */
6366
+ unregisterItem(id: string): void;
6367
+ }
6368
+
6369
+ /**
6370
+ * Registered item handle in the Action Bar collection.
6371
+ */
6372
+ export interface IActionBarItem {
6373
+ /**
6374
+ * @remarks
6375
+ * Returns the current enabled state of the item.
6376
+ *
6377
+ */
6378
+ getEnabled: () => boolean;
6379
+ /**
6380
+ * @remarks
6381
+ * Unique identifier of the item.
6382
+ *
6383
+ */
6384
+ readonly id: string;
6385
+ /**
6386
+ * @remarks
6387
+ * Text label of the item.
6388
+ *
6389
+ */
6390
+ readonly label: string;
6391
+ /**
6392
+ * @remarks
6393
+ * Modify enabled state of the item.
6394
+ *
6395
+ */
6396
+ setEnabled: (enabled: boolean) => void;
6397
+ }
6398
+
6399
+ /**
6400
+ * Properties required to create an Action Bar item.
5333
6401
  */
5334
- export interface ConeBrushShapeSettings {
5335
- depth: number;
5336
- height: number;
5337
- radius: number;
5338
- uniform: boolean;
5339
- width: number;
5340
- xRotation: number;
5341
- yRotation: number;
5342
- zRotation: number;
6402
+ export interface IActionBarItemCreationParams {
6403
+ /**
6404
+ * @remarks
6405
+ * Initial enabled state of the item. If not defined, default
6406
+ * is true.
6407
+ *
6408
+ */
6409
+ enabled?: boolean;
6410
+ /**
6411
+ * @remarks
6412
+ * Sets whether the Action Bar Item's execute is run when it is
6413
+ * added to the Action Bar. If not defined, default is false.
6414
+ *
6415
+ */
6416
+ executeOnAdd?: boolean;
6417
+ /**
6418
+ * @remarks
6419
+ * Icon resource for the item.
6420
+ *
6421
+ */
6422
+ icon: string;
6423
+ /**
6424
+ * @remarks
6425
+ * Animation data for sprite sheet icon image
6426
+ *
6427
+ */
6428
+ iconAnimation?: ImageAnimationData;
6429
+ /**
6430
+ * @remarks
6431
+ * Text label for item.
6432
+ *
6433
+ */
6434
+ label: string;
6435
+ /**
6436
+ * @remarks
6437
+ * Tooltip description for the item.
6438
+ *
6439
+ */
6440
+ tooltipDescription?: string;
6441
+ /**
6442
+ * @remarks
6443
+ * Tooltip title for the item.
6444
+ *
6445
+ */
6446
+ tooltipTitle?: string;
5343
6447
  }
5344
6448
 
5345
- export interface ContiguousSelectionProperties {
5346
- checkForAdjacentFace?: boolean;
5347
- contiguousSelectionBlockList?: string[];
5348
- contiguousSelectionType?: ContiguousSelectionType;
5349
- fullSelectionToleranceLevel?: number;
5350
- isFace?: boolean;
5351
- selectionDirection?: number;
5352
- size?: number;
5353
- startingLocation?: minecraftserver.Vector3;
6449
+ /**
6450
+ * A property item which supports block list properties
6451
+ */
6452
+ // @ts-ignore Class inheritance allowed for native defined classes
6453
+ export interface IBlockListPropertyItem extends IPropertyItemBase {
6454
+ /**
6455
+ * @remarks
6456
+ * Current value of the property item.
6457
+ *
6458
+ */
6459
+ readonly value: ReadonlyArray<string>;
6460
+ }
6461
+
6462
+ /**
6463
+ * Optional properties for Bool property item
6464
+ */
6465
+ // @ts-ignore Class inheritance allowed for native defined classes
6466
+ export interface IBlockListPropertyItemOptions extends IPropertyItemOptionsBase {
6467
+ /**
6468
+ * @remarks
6469
+ * This callback is called when UI control value is changed.
6470
+ *
6471
+ */
6472
+ onChange?: (newValue: ReadonlyArray<string>, oldValue: ReadonlyArray<string>) => void;
6473
+ }
6474
+
6475
+ /**
6476
+ * Block Table Entry info for block table property item
6477
+ */
6478
+ export interface IBlockTableEntryInfo {
6479
+ /**
6480
+ * @remarks
6481
+ * The quantity number of the same block in the selection.
6482
+ *
6483
+ */
6484
+ count?: number;
6485
+ }
6486
+
6487
+ /**
6488
+ * A property item which supports Block Table properties
6489
+ */
6490
+ // @ts-ignore Class inheritance allowed for native defined classes
6491
+ export interface IBlockTablePropertyItem extends IPropertyItemBase {
6492
+ /**
6493
+ * @remarks
6494
+ * Create new or update an existing entry in the block table
6495
+ *
6496
+ * @param block
6497
+ * a new entry in the block table.
6498
+ * @param blockInfo
6499
+ * block info for the entry in the block table.
6500
+ */
6501
+ addOrUpdateEntry(block: string | minecraftserver.BlockType, blockInfo: IBlockTableEntryInfo): void;
6502
+ /**
6503
+ * @remarks
6504
+ * Delete entry in the block table, by block name
6505
+ *
6506
+ * @param block
6507
+ * an entry in the block table.
6508
+ */
6509
+ deleteEntry(block: string): void;
6510
+ /**
6511
+ * @remarks
6512
+ * Read entry from the block table, by block name
6513
+ *
6514
+ * @param block
6515
+ * an entry in the block table.
6516
+ */
6517
+ getEntry(block: string | minecraftserver.BlockType): IBlockTableEntryInfo | undefined;
6518
+ /**
6519
+ * @remarks
6520
+ * Updates title of the property item.
6521
+ *
6522
+ * @param title
6523
+ * New title.
6524
+ */
6525
+ setTitle(title: LocalizedString): void;
6526
+ /**
6527
+ * @remarks
6528
+ * Update the block table entries
6529
+ *
6530
+ * @param entries
6531
+ * The new value for the block table.
6532
+ */
6533
+ updateEntries(entries: Map<string, IBlockTableEntryInfo>): void;
6534
+ }
6535
+
6536
+ /**
6537
+ * Properties of block table item
6538
+ */
6539
+ // @ts-ignore Class inheritance allowed for native defined classes
6540
+ export interface IBlockTablePropertyItemOptions extends IPropertyItemOptionsBase {
6541
+ /**
6542
+ * @remarks
6543
+ * Map of block entries in the block table.
6544
+ *
6545
+ */
6546
+ entries?: Map<string, IBlockTableEntryInfo>;
6547
+ /**
6548
+ * @remarks
6549
+ * If true label text will be hidden. It will be visible by
6550
+ * default.
6551
+ *
6552
+ */
6553
+ hiddenLabel?: boolean;
6554
+ /**
6555
+ * @remarks
6556
+ * This callback is called when UI control operation is
6557
+ * selected from the UI.
6558
+ *
6559
+ */
6560
+ onOperationClick?: (block: string, operation: BlockTableOperationType) => void;
6561
+ /**
6562
+ * @remarks
6563
+ * Localized title of the property item.
6564
+ *
6565
+ */
6566
+ title?: LocalizedString;
6567
+ /**
6568
+ * @remarks
6569
+ * Tooltip description of the property item.
6570
+ *
6571
+ */
6572
+ tooltip?: LocalizedString;
6573
+ }
6574
+
6575
+ /**
6576
+ * A property item which supports boolean properties
6577
+ */
6578
+ // @ts-ignore Class inheritance allowed for native defined classes
6579
+ export interface IBoolPropertyItem extends IPropertyItemBase {
6580
+ /**
6581
+ * @remarks
6582
+ * Current value of the property item.
6583
+ *
6584
+ */
6585
+ readonly value: boolean;
6586
+ /**
6587
+ * @remarks
6588
+ * Sets title of the property item.
6589
+ *
6590
+ */
6591
+ setTitle(title: LocalizedString | undefined): void;
6592
+ /**
6593
+ * @remarks
6594
+ * Sets tooltip description of the property item.
6595
+ *
6596
+ */
6597
+ setTooltip(tooltip: BasicTooltipContent | undefined): void;
6598
+ }
6599
+
6600
+ /**
6601
+ * Optional properties for Bool property item
6602
+ */
6603
+ // @ts-ignore Class inheritance allowed for native defined classes
6604
+ export interface IBoolPropertyItemOptions extends IPropertyItemOptionsBase {
6605
+ /**
6606
+ * @remarks
6607
+ * Changes checkbox variant to use a custom icon
6608
+ *
6609
+ */
6610
+ checkboxIcon?: string;
6611
+ /**
6612
+ * @remarks
6613
+ * If true label text will be hidden. It will be visible by
6614
+ * default.
6615
+ *
6616
+ */
6617
+ hiddenLabel?: boolean;
6618
+ /**
6619
+ * @remarks
6620
+ * This callback is called when UI control value is changed.
6621
+ *
6622
+ */
6623
+ onChange?: (newValue: boolean, oldValue: boolean) => void;
6624
+ /**
6625
+ * @remarks
6626
+ * Localized title of the text item.
6627
+ *
6628
+ */
6629
+ title?: LocalizedString;
6630
+ /**
6631
+ * @remarks
6632
+ * Tooltip description of the property item
6633
+ *
6634
+ */
6635
+ tooltip?: BasicTooltipContent;
6636
+ /**
6637
+ * @remarks
6638
+ * Determines how we display bool as a UI element. If
6639
+ * undefined, it will default to Checkbox.
6640
+ *
6641
+ */
6642
+ variant?: BoolPropertyItemVariant;
5354
6643
  }
5355
6644
 
5356
6645
  /**
5357
- * Settings for Cuboid brush shapes
6646
+ * A property item pane which supports multiple buttons
5358
6647
  */
5359
- export interface CuboidBrushShapeSettings {
5360
- depth: number;
5361
- height: number;
5362
- uniform: boolean;
5363
- width: number;
5364
- xRotation: number;
5365
- yRotation: number;
5366
- zRotation: number;
5367
- }
5368
-
5369
- export interface CursorPosition {
5370
- FaceDirection: number;
5371
- Position: minecraftserver.Vector3;
6648
+ // @ts-ignore Class inheritance allowed for native defined classes
6649
+ export interface IButtonPanePropertyItem extends IPropertyItemBase, IPane {
6650
+ /**
6651
+ * @remarks
6652
+ * Adds a button to the pane and binds the specified action to
6653
+ * the button interaction.
6654
+ *
6655
+ */
6656
+ addButton(
6657
+ action: ButtonPropertyItemSupportedActionTypes,
6658
+ options?: IButtonPropertyItemOptions,
6659
+ ): IButtonPropertyItem;
5372
6660
  }
5373
6661
 
5374
6662
  /**
5375
- * The CursorProperties interface is used to describe the
5376
- * properties of the Editor 3D block cursor construct.
5377
- * The 3D block cursor can be queried to retrieve the current
5378
- * properties, and the same property class can be used to set
5379
- * the current properties of the cursor.
5380
- * This interface is generally used at the activation stage of
5381
- * the active tool to set up the color, visibility and input
5382
- * properties of the 3D block cursor
6663
+ * Optional properties for Button Pane property item
5383
6664
  */
5384
- export interface CursorProperties {
6665
+ export interface IButtonPanePropertyItemOptions {
5385
6666
  /**
5386
6667
  * @remarks
5387
- * Enum representing the cursor control mode
5388
- * - Fixed Mode locks the cursor to a position which is <X>
5389
- * blocks offset from the current player position. The cursor
5390
- * is camera relative, so it will always appear <X> blocks
5391
- * ahead of the players feet
5392
- * - Keyboard Mode puts the cursor under direct control of the
5393
- * API, and ignores any mouse input. The cursor can only be
5394
- * moved around using the moveBy method
5395
- * - KeyboardAndMouse mode puts the cursor under a shared
5396
- * control of onMouseMove and keyboard input. Any mouse
5397
- * movement events will set the cursor to the position of the
5398
- * mouse/world raycast. This can be modified using the moveBy
5399
- * method, but any subsequent mouse events will reset the
5400
- * position back to where the raycast intersection occurs
5401
- * - Mouse mode puts the cursor under control of mouse move
5402
- * events, and moveBy method will be ignored
5403
- *
6668
+ * Minimum width for each item within the layout. If undefined,
6669
+ * it will default to 6.
5404
6670
  *
5405
6671
  */
5406
- controlMode?: CursorControlMode;
5407
- fillColor?: minecraftserver.RGBA;
6672
+ itemMinWidth?: number;
6673
+ }
6674
+
6675
+ /**
6676
+ * A property item which supports Button properties
6677
+ */
6678
+ // @ts-ignore Class inheritance allowed for native defined classes
6679
+ export interface IButtonPropertyItem extends IPropertyItemBase {
5408
6680
  /**
5409
6681
  * @remarks
5410
- * The fixed distance from the players feet at which the cursor
5411
- * is attached, relative to camera direction.
5412
- * This is only used when [controlMode] is set to `Fixed`
6682
+ * Replace action assigned to the button.
5413
6683
  *
6684
+ * @param action
6685
+ * New action to replace the existing with.
5414
6686
  */
5415
- fixedModeDistance?: number;
6687
+ replaceAction(action: RegisteredAction<NoArgsAction>): void;
5416
6688
  /**
5417
6689
  * @remarks
5418
- * A [Color] Property representing the color of the block
5419
- * cursor object outline
6690
+ * Updates icon of the button.
5420
6691
  *
6692
+ * @param icon
6693
+ * New button icon.
5421
6694
  */
5422
- outlineColor?: minecraftserver.RGBA;
5423
- projectThroughLiquid?: boolean;
6695
+ setIcon(icon: string | undefined): void;
5424
6696
  /**
5425
6697
  * @remarks
5426
- * An enum representing the cursor target mode
5427
- * - Block Mode records the block position of the mouse/world
5428
- * raycast intersection
5429
- * - Face Mode records the block position of the block adjacent
5430
- * to the mouse/world raycast intersection, according to the
5431
- * face of the collision point of the selected block
6698
+ * Updates title of the button.
5432
6699
  *
6700
+ * @param title
6701
+ * New button title.
5433
6702
  */
5434
- targetMode?: CursorTargetMode;
6703
+ setTitle(title: LocalizedString | undefined): void;
5435
6704
  /**
5436
6705
  * @remarks
5437
- * Boolean flag controlling the visibility of the 3D block
5438
- * cursor
6706
+ * Updates tooltip description of the button.
5439
6707
  *
6708
+ * @param tooltip
6709
+ * New button tooltip.
5440
6710
  */
5441
- visible?: boolean;
5442
- }
5443
-
5444
- export interface CursorRay {
5445
- end: minecraftserver.Vector3;
5446
- hit: boolean;
5447
- start: minecraftserver.Vector3;
6711
+ setTooltip(tooltip: BasicTooltipContent | undefined): void;
5448
6712
  }
5449
6713
 
5450
6714
  /**
5451
- * Settings for Cylinder brush shapes
6715
+ * Optional properties for Button property item
5452
6716
  */
5453
- export interface CylinderBrushShapeSettings {
5454
- depth: number;
5455
- height: number;
5456
- radius: number;
5457
- uniform: boolean;
5458
- width: number;
5459
- xRotation: number;
5460
- yRotation: number;
5461
- zRotation: number;
5462
- }
5463
-
5464
- export interface EditorStructureSearchOptions {
5465
- displayName?: string;
5466
- id?: string;
5467
- sources?: StructureSource[];
5468
- structureName?: string;
5469
- structureNamespace?: string;
5470
- tags?: string[];
6717
+ // @ts-ignore Class inheritance allowed for native defined classes
6718
+ export interface IButtonPropertyItemOptions extends IPropertyItemOptionsBase {
6719
+ /**
6720
+ * @remarks
6721
+ * If true label text will be hidden. It will be visible by
6722
+ * default.
6723
+ *
6724
+ */
6725
+ hiddenLabel?: boolean;
6726
+ /**
6727
+ * @remarks
6728
+ * Icon image of the property item.
6729
+ *
6730
+ */
6731
+ icon?: string;
6732
+ /**
6733
+ * @remarks
6734
+ * Shrinks button to icon size if button has an icon.
6735
+ *
6736
+ */
6737
+ shrinkToIcon?: boolean;
6738
+ /**
6739
+ * @remarks
6740
+ * Localized title of the property item.
6741
+ *
6742
+ */
6743
+ title?: LocalizedString;
6744
+ /**
6745
+ * @remarks
6746
+ * Tooltip description of the property item.
6747
+ *
6748
+ */
6749
+ tooltip?: BasicTooltipContent;
6750
+ /**
6751
+ * @remarks
6752
+ * The variant for the button. By default it is Primary.
6753
+ *
6754
+ */
6755
+ variant?: ButtonVariant;
5471
6756
  }
5472
6757
 
5473
- /**
5474
- * Settings for Ellipsoid brush shapes
5475
- */
5476
- export interface EllipsoidBrushShapeSettings {
5477
- depth: number;
5478
- height: number;
5479
- radius: number;
5480
- uniform: boolean;
5481
- width: number;
5482
- xRotation: number;
5483
- yRotation: number;
5484
- zRotation: number;
6758
+ export interface ICollectionTreeEntry {
6759
+ /**
6760
+ * @remarks
6761
+ * Unique identifier for the entry.
6762
+ *
6763
+ */
6764
+ readonly id: string;
6765
+ /**
6766
+ * @remarks
6767
+ * Index of the entry in the folder
6768
+ *
6769
+ */
6770
+ readonly index: number;
6771
+ /**
6772
+ * @remarks
6773
+ * Parent folder of the entry.
6774
+ *
6775
+ */
6776
+ readonly parent: ICollectionTreeFolder;
6777
+ /**
6778
+ * @remarks
6779
+ * Selected state of the entry
6780
+ *
6781
+ */
6782
+ readonly selected: boolean;
6783
+ /**
6784
+ * @remarks
6785
+ * Adds a dropdown item to the entry
6786
+ *
6787
+ */
6788
+ addDropdownItem(params: ICollectionTreeEntryDropdownItemParams): ICollectionTreeEntryDropdownItem;
6789
+ /**
6790
+ * @remarks
6791
+ * Adds a number item to the entry
6792
+ *
6793
+ */
6794
+ addNumberItem(params: ICollectionTreeEntryNumberItemParams): ICollectionTreeEntryNumberItem;
6795
+ /**
6796
+ * @remarks
6797
+ * Adds a string item to the entry
6798
+ *
6799
+ */
6800
+ addStringItem(params: ICollectionTreeEntryStringItemParams): ICollectionTreeEntryStringItem;
6801
+ /**
6802
+ * @remarks
6803
+ * Gets the tree entry item by index
6804
+ *
6805
+ * @param index
6806
+ * Index of the entry item
6807
+ */
6808
+ getItemByIndex(index: number): ICollectionTreeEntryItem | undefined;
6809
+ /**
6810
+ * @remarks
6811
+ * Set color associated with the entry
6812
+ *
6813
+ */
6814
+ setColor(color: minecraftserver.RGBA | undefined): void;
6815
+ /**
6816
+ * @remarks
6817
+ * Set selected state of the entry.
6818
+ *
6819
+ * @param selected
6820
+ * New selected state
6821
+ */
6822
+ setSelected(selected: boolean): void;
5485
6823
  }
5486
6824
 
5487
- /**
5488
- * An event that can be subscribed to. You can use the token,
5489
- * returned from the subscribe method, to clean up handlers.
5490
- */
5491
- export declare interface EventSink<T> {
6825
+ // @ts-ignore Class inheritance allowed for native defined classes
6826
+ export interface ICollectionTreeEntryDropdownItem extends ICollectionTreeEntryItem {
5492
6827
  /**
5493
6828
  * @remarks
5494
- * Subscribes an event handler to a particular subscription.
6829
+ * Value of the entry item.
5495
6830
  *
5496
- * @param handler
5497
- * Handler function to subscribe with.
5498
- * @returns
5499
- * An event handler subscription token that can be used to
5500
- * unsubscribe and clean-up handlers.
5501
6831
  */
5502
- subscribe(handler: EventHandler<T>): IEventToken;
6832
+ readonly value: string;
6833
+ /**
6834
+ * @remarks
6835
+ * Update list of dropdown menu options.
6836
+ *
6837
+ * @param menuOptions
6838
+ * New list of updated menu options
6839
+ * @param newValue
6840
+ * New value value to use for the dropdown
6841
+ */
6842
+ updateMenuOptions(menuOptions: ICollectionTreeEntryDropdownItemMenuOption[], newValue?: string): void;
5503
6843
  }
5504
6844
 
5505
- /**
5506
- * An interface which defines the set of optional parameters
5507
- * which can be used when calling the `registerEditorExtension`
5508
- * function
5509
- */
5510
- export interface ExtensionOptionalParameters {
6845
+ export interface ICollectionTreeEntryItem {
6846
+ /**
6847
+ * @remarks
6848
+ * Enabled state of the entry.
6849
+ *
6850
+ */
6851
+ readonly enabled: boolean;
5511
6852
  /**
5512
6853
  * @remarks
5513
- * An optional text description of the extension being
5514
- * registered.
5515
- * This can be a straight textual description or a string
5516
- * identifier key for a localized string in the extension's
5517
- * resource pack text files.
5518
- * The description is meant to be a very short snappy one-liner
5519
- * which quickly and uniquely identifies the extension
5520
- * The length of the string is capped to 256 characters
6854
+ * Tree entry that owns the item.
5521
6855
  *
5522
6856
  */
5523
- description?: string;
6857
+ readonly parentEntry: ICollectionTreeEntry;
5524
6858
  /**
5525
6859
  * @remarks
5526
- * Optional notes for the extension being registered.
5527
- * This can be a straight textual description or a string
5528
- * identifier key for a localized string in the extension's
5529
- * resource pack text files.
5530
- * The notes section is meant to convey more detailed
5531
- * information and notes (e.g. a link to the author's website)
5532
- * The length of this string is capped to 1024 characters
6860
+ * Type of the item.
5533
6861
  *
5534
6862
  */
5535
- notes?: string;
6863
+ readonly type: CollectionTreeEntryItemType;
5536
6864
  /**
5537
6865
  * @remarks
5538
- * An optional custom identifier that will be used for all
5539
- * Modal Tools created from the registered extension.
5540
- * The length of the string is capped to 256 characters
6866
+ * Visibility state of the entry.
5541
6867
  *
5542
6868
  */
5543
- toolGroupId?: string;
5544
- }
5545
-
5546
- export interface GameOptions {
5547
- bedsWork?: boolean;
5548
- bonusChest?: boolean;
5549
- cheats?: boolean;
5550
- commandBlockEnabled?: boolean;
5551
- commandBlockOutput?: boolean;
5552
- daylightCycle?: DaylightCycle;
5553
- difficulty?: minecraftserver.Difficulty;
5554
- dimensionId?: string;
5555
- disableWeather?: boolean;
5556
- drowningDamage?: boolean;
5557
- educationEdition?: boolean;
5558
- entitiesDropLoot?: boolean;
5559
- exportType?: ProjectExportType;
5560
- fallDamage?: boolean;
5561
- fireDamage?: boolean;
5562
- fireSpreads?: boolean;
5563
- freezeDamage?: boolean;
5564
- friendlyFire?: boolean;
5565
- functionCommandLimit?: number;
5566
- gameMode?: minecraftserver.GameMode;
5567
- hardcore?: boolean;
5568
- immediateRespawn?: boolean;
5569
- insomnia?: boolean;
5570
- keepInventory?: boolean;
5571
- lanVisibility?: boolean;
5572
- limitedCrafting?: boolean;
5573
- locatorBar?: boolean;
5574
- maxCommandChainLength?: number;
5575
- mobGriefing?: boolean;
5576
- mobLoot?: boolean;
5577
- mobSpawning?: boolean;
5578
- multiplayerGame?: boolean;
5579
- naturalRegeneration?: boolean;
5580
- playerAccess?: GamePublishSetting;
5581
- playerPermissions?: minecraftserver.PlayerPermissionLevel;
5582
- randomTickSpeed?: number;
5583
- recipeUnlocking?: boolean;
5584
- respawnBlocksExplode?: boolean;
5585
- respawnRadius?: number;
5586
- sendCommandFeedback?: boolean;
5587
- showBorderEffect?: boolean;
5588
- showCoordinates?: boolean;
5589
- showDaysPlayed?: boolean;
5590
- showDeathMessage?: boolean;
5591
- showItemTags?: boolean;
5592
- simulationDistance?: number;
5593
- sleepSkipPercent?: number;
5594
- spawnPosition?: minecraftserver.Vector3;
5595
- startingMap?: boolean;
5596
- tileDrops?: boolean;
5597
- timeOfDay?: number;
5598
- tntExplodes?: boolean;
5599
- weather?: number;
5600
- worldName?: string;
5601
- }
5602
-
5603
- /**
5604
- * Manager for IActionBarItem objects.
5605
- */
5606
- export interface IActionBar {
6869
+ readonly visible: boolean;
5607
6870
  /**
5608
6871
  * @remarks
5609
- * Add a new action bar item to the collection.
6872
+ * Updates enabled state of the item.
5610
6873
  *
5611
- * @param id
5612
- * Unique item identifier.
5613
- * @param action
5614
- * Action to be invoked.
5615
- * @param props
5616
- * Configuration for the item to create.
6874
+ * @param enabled
6875
+ * New value.
5617
6876
  */
5618
- registerItem(
5619
- id: string,
5620
- action: RegisteredAction<NoArgsAction>,
5621
- props: IActionBarItemCreationParams,
5622
- ): IActionBarItem;
6877
+ setEnabled(enabled: boolean): void;
5623
6878
  /**
5624
6879
  * @remarks
5625
- * Remove an action item from the collection.
6880
+ * Updates title of the item.
5626
6881
  *
5627
- * @param id
5628
- * Unique item identifier.
6882
+ * @param title
6883
+ * New title.
5629
6884
  */
5630
- unregisterItem(id: string): void;
5631
- }
5632
-
5633
- /**
5634
- * Registered item handle in the Action Bar collection.
5635
- */
5636
- export interface IActionBarItem {
6885
+ setTitle(title: LocalizedString | undefined): void;
5637
6886
  /**
5638
6887
  * @remarks
5639
- * Returns the current enabled state of the item.
6888
+ * Updates tooltip of the item.
5640
6889
  *
5641
6890
  */
5642
- getEnabled: () => boolean;
6891
+ setTooltip(title: BasicTooltipContent | undefined): void;
5643
6892
  /**
5644
6893
  * @remarks
5645
- * Unique identifier of the item.
6894
+ * Updates visibility of the item.
5646
6895
  *
6896
+ * @param visible
6897
+ * New value.
5647
6898
  */
5648
- readonly id: string;
6899
+ setVisible(visible: boolean): void;
6900
+ }
6901
+
6902
+ // @ts-ignore Class inheritance allowed for native defined classes
6903
+ export interface ICollectionTreeEntryNumberItem extends ICollectionTreeEntryItem {
5649
6904
  /**
5650
6905
  * @remarks
5651
- * Text label of the item.
6906
+ * Value of the entry item.
5652
6907
  *
5653
6908
  */
5654
- readonly label: string;
6909
+ readonly value: number;
6910
+ }
6911
+
6912
+ // @ts-ignore Class inheritance allowed for native defined classes
6913
+ export interface ICollectionTreeEntryStringItem extends ICollectionTreeEntryItem {
5655
6914
  /**
5656
6915
  * @remarks
5657
- * Modify enabled state of the item.
6916
+ * Value of the entry item.
5658
6917
  *
5659
6918
  */
5660
- setEnabled: (enabled: boolean) => void;
6919
+ readonly value: string;
5661
6920
  }
5662
6921
 
5663
6922
  /**
5664
- * Properties required to create an Action Bar item.
6923
+ * Container for collection items
5665
6924
  */
5666
- export interface IActionBarItemCreationParams {
6925
+ export interface ICollectionTreeFolder {
5667
6926
  /**
5668
6927
  * @remarks
5669
- * Initial enabled state of the item. If not defined, default
5670
- * is true.
6928
+ * Count of the entries
5671
6929
  *
5672
6930
  */
5673
- enabled?: boolean;
6931
+ readonly entryCount: number;
5674
6932
  /**
5675
6933
  * @remarks
5676
- * Sets whether the Action Bar Item's execute is run when it is
5677
- * added to the Action Bar. If not defined, default is false.
6934
+ * Expanded state of the folder
5678
6935
  *
5679
6936
  */
5680
- executeOnAdd?: boolean;
6937
+ readonly expanded: boolean;
5681
6938
  /**
5682
6939
  * @remarks
5683
- * Icon resource for the item.
6940
+ * Count of the child folders
5684
6941
  *
5685
6942
  */
5686
- icon: string;
6943
+ readonly folderCount: number;
5687
6944
  /**
5688
6945
  * @remarks
5689
- * Animation data for sprite sheet icon image
6946
+ * Unique identifier of the folder
5690
6947
  *
5691
6948
  */
5692
- iconAnimation?: ImageAnimationData;
6949
+ readonly id: string;
5693
6950
  /**
5694
6951
  * @remarks
5695
- * Text label for item.
6952
+ * Parent folder
5696
6953
  *
5697
6954
  */
5698
- label: string;
6955
+ readonly parent: ICollectionTreeFolder | undefined;
5699
6956
  /**
5700
6957
  * @remarks
5701
- * Tooltip description for the item.
6958
+ * Selected state of the folder
5702
6959
  *
5703
6960
  */
5704
- tooltipDescription?: string;
6961
+ readonly selected: boolean;
5705
6962
  /**
5706
6963
  * @remarks
5707
- * Tooltip title for the item.
6964
+ * Title of the folder
5708
6965
  *
5709
6966
  */
5710
- tooltipTitle?: string;
5711
- }
5712
-
5713
- /**
5714
- * A property item which supports block list properties
5715
- */
5716
- // @ts-ignore Class inheritance allowed for native defined classes
5717
- export interface IBlockListPropertyItem extends IPropertyItemBase {
6967
+ readonly title: LocalizedString;
5718
6968
  /**
5719
6969
  * @remarks
5720
- * Current value of the property item.
6970
+ * User data associated with the folder
5721
6971
  *
5722
6972
  */
5723
- readonly value: ReadonlyArray<string>;
5724
- }
5725
-
5726
- /**
5727
- * Optional properties for Bool property item
5728
- */
5729
- // @ts-ignore Class inheritance allowed for native defined classes
5730
- export interface IBlockListPropertyItemOptions extends IPropertyItemOptionsBase {
6973
+ readonly userData: unknown;
5731
6974
  /**
5732
6975
  * @remarks
5733
- * This callback is called when UI control value is changed.
6976
+ * Adds a new entry to the folder
5734
6977
  *
6978
+ * @param options
6979
+ * Options to create a folder
5735
6980
  */
5736
- onChange?: (newValue: ReadonlyArray<string>, oldValue: ReadonlyArray<string>) => void;
5737
- }
5738
-
5739
- /**
5740
- * Block Table Entry info for block table property item
5741
- */
5742
- export interface IBlockTableEntryInfo {
6981
+ addEntry(options: ICollectionTreeEntryOptions): ICollectionTreeEntry;
5743
6982
  /**
5744
6983
  * @remarks
5745
- * The quantity number of the same block in the selection.
6984
+ * Creates a new child folder
5746
6985
  *
6986
+ * @param options
6987
+ * Options to create a folder
5747
6988
  */
5748
- count?: number;
5749
- }
5750
-
5751
- /**
5752
- * A property item which supports Block Table properties
5753
- */
5754
- // @ts-ignore Class inheritance allowed for native defined classes
5755
- export interface IBlockTablePropertyItem extends IPropertyItemBase {
6989
+ addFolder(options: ICollectionTreeFolderOptions): ICollectionTreeFolder;
5756
6990
  /**
5757
6991
  * @remarks
5758
- * Create new or update an existing entry in the block table
6992
+ * Iterates over entries within the folder
5759
6993
  *
5760
- * @param block
5761
- * a new entry in the block table.
5762
- * @param blockInfo
5763
- * block info for the entry in the block table.
6994
+ * @param callback
6995
+ * Returning false will stop the iteration
5764
6996
  */
5765
- addOrUpdateEntry(block: string | minecraftserver.BlockType, blockInfo: IBlockTableEntryInfo): void;
6997
+ forEachEntry(callback: (entry: ICollectionTreeEntry, index: number) => boolean): void;
5766
6998
  /**
5767
6999
  * @remarks
5768
- * Delete entry in the block table, by block name
7000
+ * Iterates over the first layer of folders
5769
7001
  *
5770
- * @param block
5771
- * an entry in the block table.
7002
+ * @param callback
7003
+ * Returning false will stop the iteration
5772
7004
  */
5773
- deleteEntry(block: string): void;
7005
+ forEachFolder(callback: (folder: ICollectionTreeFolder) => boolean): void;
5774
7006
  /**
5775
7007
  * @remarks
5776
- * Read entry from the block table, by block name
7008
+ * Iterates over the first layer of folders
5777
7009
  *
5778
- * @param block
5779
- * an entry in the block table.
7010
+ * @param callback
7011
+ * Returning false will stop the iteration
5780
7012
  */
5781
- getEntry(block: string | minecraftserver.BlockType): IBlockTableEntryInfo | undefined;
7013
+ forEachFolder(callback: (folder: ICollectionTreeFolder) => boolean): void;
5782
7014
  /**
5783
7015
  * @remarks
5784
- * Updates title of the property item.
7016
+ * Gets the entry by its unique identifier
5785
7017
  *
5786
- * @param title
5787
- * New title.
7018
+ * @param id
7019
+ * Identifier of the folder
5788
7020
  */
5789
- setTitle(title: LocalizedString): void;
7021
+ getEntryById(id: string): ICollectionTreeEntry | undefined;
5790
7022
  /**
5791
7023
  * @remarks
5792
- * Update the block table entries
7024
+ * Gets the entry at the index
5793
7025
  *
5794
- * @param entries
5795
- * The new value for the block table.
7026
+ * @param index
7027
+ * Index of the entry
5796
7028
  */
5797
- updateEntries(entries: Map<string, IBlockTableEntryInfo>): void;
5798
- }
5799
-
5800
- /**
5801
- * Properties of block table item
5802
- */
5803
- // @ts-ignore Class inheritance allowed for native defined classes
5804
- export interface IBlockTablePropertyItemOptions extends IPropertyItemOptionsBase {
7029
+ getEntryByIndex(index: number): ICollectionTreeEntry | undefined;
5805
7030
  /**
5806
7031
  * @remarks
5807
- * Map of block entries in the block table.
7032
+ * Find the folder with the id if it exists
5808
7033
  *
7034
+ * @param id
7035
+ * Identifier of the folder
5809
7036
  */
5810
- entries?: Map<string, IBlockTableEntryInfo>;
7037
+ getFolder(id: string): ICollectionTreeFolder | undefined;
5811
7038
  /**
5812
7039
  * @remarks
5813
- * If true label text will be hidden. It will be visible by
5814
- * default.
7040
+ * Removes the entry by its unique identifier if it exists
5815
7041
  *
7042
+ * @param id
7043
+ * Identifier of the folder
5816
7044
  */
5817
- hiddenLabel?: boolean;
7045
+ removeEntryById(id: string): boolean;
5818
7046
  /**
5819
7047
  * @remarks
5820
- * This callback is called when UI control operation is
5821
- * selected from the UI.
7048
+ * Removes the entry at the index if it exists
5822
7049
  *
7050
+ * @param index
7051
+ * Index of the entry
5823
7052
  */
5824
- onOperationClick?: (block: string, operation: BlockTableOperationType) => void;
7053
+ removeEntryByIndex(index: number): boolean;
5825
7054
  /**
5826
7055
  * @remarks
5827
- * Localized title of the property item.
7056
+ * Removes the folder with the id if it exists at the root
5828
7057
  *
7058
+ * @param id
7059
+ * Identifier of the folder
5829
7060
  */
5830
- title?: LocalizedString;
7061
+ removeFolder(id: string): boolean;
5831
7062
  /**
5832
7063
  * @remarks
5833
- * Tooltip description of the property item.
7064
+ * Set color of the entry.
5834
7065
  *
7066
+ * @param color
7067
+ * New color state
5835
7068
  */
5836
- tooltip?: LocalizedString;
5837
- }
5838
-
5839
- /**
5840
- * A property item which supports boolean properties
5841
- */
5842
- // @ts-ignore Class inheritance allowed for native defined classes
5843
- export interface IBoolPropertyItem extends IPropertyItemBase {
7069
+ setColor(color: minecraftserver.RGBA | undefined): void;
5844
7070
  /**
5845
7071
  * @remarks
5846
- * Current value of the property item.
7072
+ * Set expanded state of the entry.
7073
+ *
7074
+ * @param expanded
7075
+ * New expanded state
7076
+ */
7077
+ setExpanded(expanded: boolean): void;
7078
+ /**
7079
+ * @remarks
7080
+ * Updates the header action for the folder
7081
+ *
7082
+ */
7083
+ setHeaderAction(actionParams: ICollectionTreeFolderHeaderActionParams | undefined): void;
7084
+ /**
7085
+ * @remarks
7086
+ * Updates menu items for the folder
5847
7087
  *
7088
+ * @param menu
7089
+ * New menu items
5848
7090
  */
5849
- readonly value: boolean;
7091
+ setMenu(menu: IMenuCreationParams[] | undefined): void;
5850
7092
  /**
5851
7093
  * @remarks
5852
- * Sets title of the property item.
7094
+ * Set selected state of the entry.
5853
7095
  *
7096
+ * @param selected
7097
+ * New selected state
5854
7098
  */
5855
- setTitle(title: LocalizedString | undefined): void;
7099
+ setSelected(selected: boolean): void;
5856
7100
  /**
5857
7101
  * @remarks
5858
- * Sets tooltip description of the property item.
7102
+ * Set title of the entry.
5859
7103
  *
7104
+ * @param title
7105
+ * New title state
5860
7106
  */
5861
- setTooltip(tooltip: BasicTooltipContent | undefined): void;
7107
+ setTitle(title: LocalizedString): void;
5862
7108
  }
5863
7109
 
5864
7110
  /**
5865
- * Optional properties for Bool property item
7111
+ * A property item which supports creating nested folders of
7112
+ * collection items
5866
7113
  */
5867
7114
  // @ts-ignore Class inheritance allowed for native defined classes
5868
- export interface IBoolPropertyItemOptions extends IPropertyItemOptionsBase {
5869
- /**
5870
- * @remarks
5871
- * Changes checkbox variant to use a custom icon
5872
- *
5873
- */
5874
- checkboxIcon?: string;
7115
+ export interface ICollectionTreePropertyItem extends IPropertyItemBase {
5875
7116
  /**
5876
7117
  * @remarks
5877
- * If true label text will be hidden. It will be visible by
5878
- * default.
7118
+ * Drag and drop support for the entries
5879
7119
  *
5880
7120
  */
5881
- hiddenLabel?: boolean;
7121
+ readonly canDragDropEntries: boolean;
5882
7122
  /**
5883
7123
  * @remarks
5884
- * This callback is called when UI control value is changed.
7124
+ * Count of the child folders
5885
7125
  *
5886
7126
  */
5887
- onChange?: (newValue: boolean, oldValue: boolean) => void;
7127
+ readonly folderCount: number;
5888
7128
  /**
5889
7129
  * @remarks
5890
- * Localized title of the text item.
7130
+ * View control pane for the collection tree
5891
7131
  *
5892
7132
  */
5893
- title?: LocalizedString;
7133
+ readonly viewControlPane: IListViewControlPane | undefined;
5894
7134
  /**
5895
7135
  * @remarks
5896
- * Tooltip description of the property item
7136
+ * Sort type for the folders.
5897
7137
  *
5898
7138
  */
5899
- tooltip?: BasicTooltipContent;
7139
+ readonly viewSortType: CollectionTreeSortType;
5900
7140
  /**
5901
7141
  * @remarks
5902
- * Determines how we display bool as a UI element. If
5903
- * undefined, it will default to Checkbox.
7142
+ * Creates a new folder at the root of the collection
5904
7143
  *
7144
+ * @param options
7145
+ * Options to create a folder
5905
7146
  */
5906
- variant?: BoolPropertyItemVariant;
5907
- }
5908
-
5909
- /**
5910
- * A property item pane which supports multiple buttons
5911
- */
5912
- // @ts-ignore Class inheritance allowed for native defined classes
5913
- export interface IButtonPanePropertyItem extends IPropertyItemBase, IPane {
7147
+ addFolder(options: ICollectionTreeFolderOptions): ICollectionTreeFolder;
5914
7148
  /**
5915
7149
  * @remarks
5916
- * Adds a button to the pane and binds the specified action to
5917
- * the button interaction.
7150
+ * Creates a pane that displays view and filtering
7151
+ * configurations for the collection tree if the parent
7152
+ * container supports it.
5918
7153
  *
5919
7154
  */
5920
- addButton(
5921
- action: ButtonPropertyItemSupportedActionTypes,
5922
- options?: IButtonPropertyItemOptions,
5923
- ): IButtonPropertyItem;
5924
- }
5925
-
5926
- /**
5927
- * Optional properties for Button Pane property item
5928
- */
5929
- export interface IButtonPanePropertyItemOptions {
7155
+ buildViewControl(options: ICollectionTreeViewControlPaneOptions): IListViewControlPane;
5930
7156
  /**
5931
7157
  * @remarks
5932
- * Minimum width for each item within the layout. If undefined,
5933
- * it will default to 6.
7158
+ * Iterates over the first layer of folders
5934
7159
  *
7160
+ * @param callback
7161
+ * Returning false will stop the iteration
5935
7162
  */
5936
- itemMinWidth?: number;
5937
- }
5938
-
5939
- /**
5940
- * A property item which supports Button properties
5941
- */
5942
- // @ts-ignore Class inheritance allowed for native defined classes
5943
- export interface IButtonPropertyItem extends IPropertyItemBase {
7163
+ forEachFolder(callback: (folder: ICollectionTreeFolder) => boolean): void;
5944
7164
  /**
5945
7165
  * @remarks
5946
- * Replace action assigned to the button.
7166
+ * Find the folder with the id if it exists at the root
5947
7167
  *
5948
- * @param action
5949
- * New action to replace the existing with.
7168
+ * @param id
7169
+ * Identifier of the folder
5950
7170
  */
5951
- replaceAction(action: RegisteredAction<NoArgsAction>): void;
7171
+ getFolder(id: string): ICollectionTreeFolder | undefined;
5952
7172
  /**
5953
7173
  * @remarks
5954
- * Updates icon of the button.
7174
+ * Removes the folder with the id if it exists at the root
5955
7175
  *
5956
- * @param icon
5957
- * New button icon.
7176
+ * @param id
7177
+ * Identifier of the folder
5958
7178
  */
5959
- setIcon(icon: string | undefined): void;
7179
+ removeFolder(id: string): boolean;
5960
7180
  /**
5961
7181
  * @remarks
5962
- * Updates title of the button.
7182
+ * Toggles drag and drop support for the entries
5963
7183
  *
5964
- * @param title
5965
- * New button title.
7184
+ * @param enabled
7185
+ * Whether to enable drag and drop
5966
7186
  */
5967
- setTitle(title: LocalizedString | undefined): void;
7187
+ setCanDragDropEntries(enabled: boolean): void;
5968
7188
  /**
5969
7189
  * @remarks
5970
- * Updates tooltip description of the button.
7190
+ * Updates the folder sort type for the whole view
5971
7191
  *
5972
- * @param tooltip
5973
- * New button tooltip.
7192
+ * @param sortType
7193
+ * New sort type
5974
7194
  */
5975
- setTooltip(tooltip: BasicTooltipContent | undefined): void;
7195
+ setViewSortType(sortType: CollectionTreeSortType | undefined): void;
5976
7196
  }
5977
7197
 
5978
7198
  /**
5979
- * Optional properties for Button property item
7199
+ * Optional properties for Collection Tree Pane property item
5980
7200
  */
5981
7201
  // @ts-ignore Class inheritance allowed for native defined classes
5982
- export interface IButtonPropertyItemOptions extends IPropertyItemOptionsBase {
5983
- /**
5984
- * @remarks
5985
- * If true label text will be hidden. It will be visible by
5986
- * default.
5987
- *
5988
- */
5989
- hiddenLabel?: boolean;
7202
+ export interface ICollectionTreePropertyItemOptions extends IPropertyItemOptionsBase {
5990
7203
  /**
5991
7204
  * @remarks
5992
- * Icon image of the property item.
7205
+ * Setting true will enable drag and drop support for entries.
5993
7206
  *
5994
7207
  */
5995
- icon?: string;
7208
+ canDragDropEntries?: boolean;
5996
7209
  /**
5997
7210
  * @remarks
5998
- * Shrinks button to icon size if button has an icon.
7211
+ * Localized title of the property item.
5999
7212
  *
6000
7213
  */
6001
- shrinkToIcon?: boolean;
7214
+ title?: LocalizedString;
6002
7215
  /**
6003
7216
  * @remarks
6004
- * Localized title of the property item.
7217
+ * Custom sort type for folders view.
6005
7218
  *
6006
7219
  */
6007
- title?: LocalizedString;
7220
+ viewSortType?: CollectionTreeSortType;
7221
+ }
7222
+
7223
+ // @ts-ignore Class inheritance allowed for native defined classes
7224
+ export interface ICollectionTreeViewControlPaneOptions extends IListViewControlPaneOptions {
6008
7225
  /**
6009
7226
  * @remarks
6010
- * Tooltip description of the property item.
7227
+ * This function will be called whenever the filter is changed
7228
+ * by the user
6011
7229
  *
6012
7230
  */
6013
- tooltip?: BasicTooltipContent;
7231
+ onFilterChanged?: (visibleFolders: string[]) => void;
6014
7232
  /**
6015
7233
  * @remarks
6016
- * The variant for the button. By default it is Primary.
7234
+ * Custom sort options. If undefined, collection tree sort
7235
+ * options will be used.
6017
7236
  *
6018
7237
  */
6019
- variant?: ButtonVariant;
7238
+ sortOptions?: CollectionTreeSortType[];
6020
7239
  }
6021
7240
 
6022
7241
  /**
@@ -6272,6 +7491,16 @@ export interface IComboBoxPropertyItem extends IPropertyItemBase {
6272
7491
  * New tooltip.
6273
7492
  */
6274
7493
  setTooltip(tooltip: BasicTooltipContent | undefined): void;
7494
+ /**
7495
+ * @remarks
7496
+ * Update list of combo box entries.
7497
+ *
7498
+ * @param entries
7499
+ * New list of updated entries.
7500
+ * @param newValue
7501
+ * New value to use for the combo box.
7502
+ */
7503
+ updateEntries(entries: IComboBoxPropertyItemEntry[] | undefined, newValue?: string): void;
6275
7504
  }
6276
7505
 
6277
7506
  /**
@@ -6874,6 +8103,12 @@ export interface IListPanePropertyItem extends IPropertyItemBase, IPane {
6874
8103
  *
6875
8104
  */
6876
8105
  readonly slotCount: number;
8106
+ /**
8107
+ * @remarks
8108
+ * View control pane for the list
8109
+ *
8110
+ */
8111
+ readonly viewControlPane: IListViewControlPane | undefined;
6877
8112
  /**
6878
8113
  * @remarks
6879
8114
  * Current sorting type for the pane slots
@@ -6886,6 +8121,14 @@ export interface IListPanePropertyItem extends IPropertyItemBase, IPane {
6886
8121
  *
6887
8122
  */
6888
8123
  addSlot(params: ListPaneSlotCreationProps): IListPaneSlot;
8124
+ /**
8125
+ * @remarks
8126
+ * Creates a pane that displays view and filtering
8127
+ * configurations for the list if the parent container supports
8128
+ * it.
8129
+ *
8130
+ */
8131
+ buildViewControl(options: IListPaneViewControlPaneOptions): IListViewControlPane;
6889
8132
  /**
6890
8133
  * @remarks
6891
8134
  * Finds the slot with the identifier.
@@ -6959,7 +8202,8 @@ export interface IListPanePropertyItem extends IPropertyItemBase, IPane {
6959
8202
  export interface IListPanePropertyItemOptions extends IPropertyItemOptionsBase {
6960
8203
  /**
6961
8204
  * @remarks
6962
- * This will be the height of the list withing the pane
8205
+ * Default slots to initialize the list with. If undefined, the
8206
+ * list will be empty.
6963
8207
  *
6964
8208
  */
6965
8209
  defaultSlots?: ListPaneSlotCreationProps[];
@@ -6972,17 +8216,10 @@ export interface IListPanePropertyItemOptions extends IPropertyItemOptionsBase {
6972
8216
  fixedHeight?: boolean;
6973
8217
  /**
6974
8218
  * @remarks
6975
- * This will be the height of the list withing the pane
8219
+ * This will be the height of the list within the pane
6976
8220
  *
6977
8221
  */
6978
8222
  height?: number;
6979
- /**
6980
- * @remarks
6981
- * Layout for the list will need to be predefined, and using
6982
- * wrong layout shape while creating slots will throw
6983
- *
6984
- */
6985
- layout: ListPaneSlotLayout;
6986
8223
  /**
6987
8224
  * @remarks
6988
8225
  * This callback is fired whenever a clickable slot is pressed
@@ -6996,6 +8233,14 @@ export interface IListPanePropertyItemOptions extends IPropertyItemOptionsBase {
6996
8233
  *
6997
8234
  */
6998
8235
  onSlotSelectionChange?: (slot: IListPaneSlot, state: boolean) => void;
8236
+ /**
8237
+ * @remarks
8238
+ * Slot configuration for the list. The slot entry layout must
8239
+ * be predefined, and using an incorrect layout while creating
8240
+ * slots will throw an error.
8241
+ *
8242
+ */
8243
+ slotConfig: ListPaneSlotConfiguration;
6999
8244
  /**
7000
8245
  * @remarks
7001
8246
  * Localized title of the property item.
@@ -7161,6 +8406,117 @@ export interface IListPaneTextEntry extends IListPaneEntry {
7161
8406
  setValue(value: LocalizedString): void;
7162
8407
  }
7163
8408
 
8409
+ // @ts-ignore Class inheritance allowed for native defined classes
8410
+ export interface IListPaneViewControlPaneOptions extends IListViewControlPaneOptions {
8411
+ /**
8412
+ * @remarks
8413
+ * Flags to determine visible filters. If undefined it will be
8414
+ * All.
8415
+ *
8416
+ */
8417
+ filterFlags?: ListViewControlFilterFlags;
8418
+ /**
8419
+ * @remarks
8420
+ * This function will be called whenever the filter is changed
8421
+ * by the user
8422
+ *
8423
+ */
8424
+ onFilterChanged?: (visibleSlotIds: string[]) => void;
8425
+ /**
8426
+ * @remarks
8427
+ * Custom sort options. If undefined, list pane sort options
8428
+ * will be used.
8429
+ *
8430
+ */
8431
+ sortOptions?: ListPaneViewSortType[];
8432
+ }
8433
+
8434
+ export interface IListViewControlPane {
8435
+ /**
8436
+ * @remarks
8437
+ * Unique identifier
8438
+ *
8439
+ */
8440
+ readonly id: string;
8441
+ /**
8442
+ * @remarks
8443
+ * Active state of the filter
8444
+ *
8445
+ */
8446
+ readonly isFilterActive: boolean;
8447
+ /**
8448
+ * @remarks
8449
+ * Visible state of the pane
8450
+ *
8451
+ */
8452
+ readonly visible: boolean;
8453
+ /**
8454
+ * @remarks
8455
+ * Returns the state of an existing action
8456
+ *
8457
+ * @param id
8458
+ * Identifier for the action
8459
+ */
8460
+ getActionState(id: string): ListViewControlActionState | undefined;
8461
+ /**
8462
+ * @remarks
8463
+ * Updates enabled state of the existing action
8464
+ *
8465
+ * @param id
8466
+ * Identifier for the action
8467
+ * @param enabled
8468
+ * New action enabled state
8469
+ */
8470
+ setActionEnabledState(id: string, enabled: boolean): void;
8471
+ /**
8472
+ * @remarks
8473
+ * Updates existing actions
8474
+ *
8475
+ * @param newActions
8476
+ * New actions
8477
+ */
8478
+ setActionStates(newActions: ListViewControlAction[]): void;
8479
+ /**
8480
+ * @remarks
8481
+ * Updates visible state of the pane
8482
+ *
8483
+ * @param visible
8484
+ * New visibility state
8485
+ */
8486
+ setVisible(visible: boolean): void;
8487
+ /**
8488
+ * @remarks
8489
+ * Updates action item state for the view control
8490
+ *
8491
+ * @param id
8492
+ * Identifier for the action
8493
+ * @param newState
8494
+ * New action state
8495
+ */
8496
+ updateActionState(id: string, newState: ListViewControlActionState): void;
8497
+ }
8498
+
8499
+ export interface IListViewControlPaneOptions {
8500
+ /**
8501
+ * @remarks
8502
+ * Default actions
8503
+ *
8504
+ */
8505
+ actions?: ListViewControlAction[];
8506
+ /**
8507
+ * @remarks
8508
+ * This function will be called whenever user clicks an action
8509
+ *
8510
+ */
8511
+ onActionClicked?: (id: string) => void;
8512
+ /**
8513
+ * @remarks
8514
+ * Initial visibility state. It undefined, it will be false.
8515
+ *
8516
+ */
8517
+ visible?: boolean;
8518
+ }
8519
+
7164
8520
  export interface IMenu {
7165
8521
  /**
7166
8522
  * @remarks
@@ -7397,26 +8753,28 @@ export interface IMinimapPropertyItem extends IPropertyItemBase {
7397
8753
  readonly mapImageWidth: number;
7398
8754
  /**
7399
8755
  * @remarks
7400
- * Adds a marker to the minimap.
8756
+ * Get visibility for a specific marker type.
7401
8757
  *
7402
- * @param markerType
7403
- * The type of marker to add.
8758
+ * @param type
8759
+ * The marker type to query.
7404
8760
  */
7405
- assignMarker(markerType: MinimapMarkerType): void;
8761
+ isMarkerTypeVisible(type: MinimapMarkerType): boolean;
7406
8762
  /**
7407
8763
  * @remarks
7408
- * Refreshes the map.
8764
+ * Get me marker visibility.
7409
8765
  *
7410
8766
  */
7411
- refreshMap(): void;
8767
+ isMeMarkerShown(): boolean;
7412
8768
  /**
7413
8769
  * @remarks
7414
- * Removes a marker from the minimap.
8770
+ * Register a custom marker icon for UI rendering.
7415
8771
  *
7416
- * @param markerType
7417
- * The type of marker to remove.
8772
+ * @param iconIdentifier
8773
+ * The iconIdentifier string.
8774
+ * @param imagePath
8775
+ * The image resource path.
7418
8776
  */
7419
- removeMarker(markerType: MinimapMarkerType): void;
8777
+ registerCustomMarkerIcon(iconIdentifier: string, imagePath: string): void;
7420
8778
  /**
7421
8779
  * @remarks
7422
8780
  * Updates the size of the map image.
@@ -7427,6 +8785,30 @@ export interface IMinimapPropertyItem extends IPropertyItemBase {
7427
8785
  * New height of the image.
7428
8786
  */
7429
8787
  resizeMapImage(width: number, height: number): void;
8788
+ /**
8789
+ * @remarks
8790
+ * Set visibility for a specific marker type.
8791
+ *
8792
+ * @param type
8793
+ * The marker type to toggle.
8794
+ * @param visible
8795
+ * Whether the marker type should be visible.
8796
+ */
8797
+ setMarkerTypeVisible(type: MinimapMarkerType, visible: boolean): void;
8798
+ /**
8799
+ * @remarks
8800
+ * Set me marker visibility.
8801
+ *
8802
+ */
8803
+ setMeMarkerShown(shown: boolean): void;
8804
+ /**
8805
+ * @remarks
8806
+ * Unregister a custom marker icon.
8807
+ *
8808
+ * @param iconIdentifier
8809
+ * The iconIdentifier string.
8810
+ */
8811
+ unregisterCustomMarkerIcon(iconIdentifier: string): void;
7430
8812
  }
7431
8813
 
7432
8814
  /**
@@ -7443,18 +8825,28 @@ export interface IMinimapPropertyItemOptions extends IPropertyItemOptionsBase {
7443
8825
  alignment?: LayoutAlignment;
7444
8826
  /**
7445
8827
  * @remarks
7446
- * Whether to show me marker on the minimap. If undefined,
7447
- * defaults to true.
8828
+ * Whether the minimap is clickable. If undefined, defaults to
8829
+ * true.
7448
8830
  *
7449
8831
  */
7450
- isMeMarkerShown?: boolean;
8832
+ clickable?: boolean;
8833
+ /**
8834
+ * @remarks
8835
+ * Custom marker icon registration. Maps the iconIdentifier
8836
+ * (used when adding custom markers via addCustomMarker) to
8837
+ * image resource paths for UI rendering. Only needed for
8838
+ * Custom marker type. Multiplayer and Location use built-in
8839
+ * icons.
8840
+ *
8841
+ */
8842
+ customMarkerIcons?: Record<string, string>;
7451
8843
  /**
7452
8844
  * @remarks
7453
- * Whether to show multiplayer markers on the minimap. If
7454
- * undefined, defaults to false.
8845
+ * Whether to show me marker on the minimap. If undefined,
8846
+ * defaults to true.
7455
8847
  *
7456
8848
  */
7457
- isMultiplayerMarkerShown?: boolean;
8849
+ isMeMarkerShown?: boolean;
7458
8850
  /**
7459
8851
  * @remarks
7460
8852
  * Size of the map image. If undefined, defaults to 35.
@@ -7468,10 +8860,18 @@ export interface IMinimapPropertyItemOptions extends IPropertyItemOptionsBase {
7468
8860
  };
7469
8861
  /**
7470
8862
  * @remarks
7471
- * Called when map is clicked.
8863
+ * Called when the minimap is clicked.
7472
8864
  *
7473
8865
  */
7474
- onClick?: (x: number, y: number) => void;
8866
+ onClick?: (worldX: number, worldY: number, worldZ: number) => void;
8867
+ /**
8868
+ * @remarks
8869
+ * Per-type marker visibility. If omitted, no marker types are
8870
+ * shown. Only controls presentation. Markers must be added via
8871
+ * C++ API to exist.
8872
+ *
8873
+ */
8874
+ visibleMarkerTypes?: MinimapMarkerType[];
7475
8875
  }
7476
8876
 
7477
8877
  /**
@@ -7768,6 +9168,15 @@ export interface IModalToolContainer {
7768
9168
  *
7769
9169
  */
7770
9170
  getSelectedToolId(): string | undefined;
9171
+ /**
9172
+ * @remarks
9173
+ * Returns the current sort order of tools.
9174
+ *
9175
+ * @returns
9176
+ * Array of tool identifiers in sort order, or undefined if not
9177
+ * set
9178
+ */
9179
+ getSortOrder(): string[] | undefined;
7771
9180
  /**
7772
9181
  * @remarks
7773
9182
  * Remove an existing tool by id from the tool container
@@ -7784,6 +9193,15 @@ export interface IModalToolContainer {
7784
9193
  * Identifier of the tool
7785
9194
  */
7786
9195
  setSelectedToolId(id: string | undefined): void;
9196
+ /**
9197
+ * @remarks
9198
+ * Sets the sort order for tools in the container.
9199
+ *
9200
+ * @param ids
9201
+ * Array of tool identifiers in the desired order, or undefined
9202
+ * to clear
9203
+ */
9204
+ setSortOrder(ids: string[] | undefined): void;
7787
9205
  }
7788
9206
 
7789
9207
  /**
@@ -8362,6 +9780,12 @@ export interface IPropertyPane extends IPane {
8362
9780
  *
8363
9781
  */
8364
9782
  addButtonPane(options?: IButtonPanePropertyItemOptions): IButtonPanePropertyItem;
9783
+ /**
9784
+ * @remarks
9785
+ * Adds a tree view for collections with folders and entries.
9786
+ *
9787
+ */
9788
+ addCollectionTree(options: ICollectionTreePropertyItemOptions): ICollectionTreePropertyItem;
8365
9789
  /**
8366
9790
  * @remarks
8367
9791
  * Adds a color picker item to the pane.
@@ -8477,6 +9901,12 @@ export interface IPropertyPane extends IPane {
8477
9901
  *
8478
9902
  */
8479
9903
  addString(value: IObservableProp<string>, options?: IStringPropertyItemOptions): IStringPropertyItem;
9904
+ /**
9905
+ * @remarks
9906
+ * Adds a tag container to the pane.
9907
+ *
9908
+ */
9909
+ addTagContainer(options?: ITagContainerPropertyItemOptions): ITagContainerPropertyItem;
8480
9910
  /**
8481
9911
  * @remarks
8482
9912
  * Adds a multiline Text item to the pane.
@@ -8509,29 +9939,25 @@ export interface IPropertyPane extends IPane {
8509
9939
  ): IVector3PropertyItem;
8510
9940
  /**
8511
9941
  * @remarks
8512
- * Begins pane construction for batching property item
8513
- * additions
9942
+ * Adds a Vector3 Timeline item to the pane.
8514
9943
  *
8515
9944
  */
8516
- beginConstruct(): void;
9945
+ addVector3Timeline(
9946
+ value: IObservableProp<number>,
9947
+ options?: IVector3TimelinePropertyItemOptions,
9948
+ ): IVector3TimelinePropertyItem;
8517
9949
  /**
8518
9950
  * @remarks
8519
9951
  * Collapse the pane.
8520
9952
  *
8521
9953
  */
8522
- collapse(): void;
8523
- /**
8524
- * @remarks
8525
- * Creates an sub pane that can store property items.
8526
- *
8527
- */
8528
- createSubPane(options: ISubPanePropertyItemOptions): ISubPanePropertyItem;
9954
+ collapse(): void;
8529
9955
  /**
8530
9956
  * @remarks
8531
- * Finalizes pane construction and synchronizes item data
9957
+ * Creates an sub pane that can store property items.
8532
9958
  *
8533
9959
  */
8534
- endConstruct(): void;
9960
+ createSubPane(options: ISubPanePropertyItemOptions): ISubPanePropertyItem;
8535
9961
  /**
8536
9962
  * @remarks
8537
9963
  * Expand the pane.
@@ -8722,6 +10148,18 @@ export interface IRootPropertyPaneOptions extends IPropertyPaneOptions {
8722
10148
  *
8723
10149
  */
8724
10150
  headerAction?: IRootPropertyPaneHeaderAction;
10151
+ /**
10152
+ * @remarks
10153
+ * Pane icon shown in front of the pane header
10154
+ *
10155
+ */
10156
+ icon?: string;
10157
+ /**
10158
+ * @remarks
10159
+ * Determines how root pane will be displayed in the UI.
10160
+ *
10161
+ */
10162
+ location?: RootPaneLocation;
8725
10163
  }
8726
10164
 
8727
10165
  /**
@@ -8855,6 +10293,13 @@ export interface IStringPropertyItem extends IPropertyItemBase {
8855
10293
  */
8856
10294
  // @ts-ignore Class inheritance allowed for native defined classes
8857
10295
  export interface IStringPropertyItemOptions extends IPropertyItemOptionsBase {
10296
+ /**
10297
+ * @remarks
10298
+ * Shows clear button for the item. If undefined, it will be
10299
+ * true.
10300
+ *
10301
+ */
10302
+ hasClearButton?: boolean;
8858
10303
  /**
8859
10304
  * @remarks
8860
10305
  * If true label text will be hidden. If undefined, the label
@@ -8868,6 +10313,12 @@ export interface IStringPropertyItemOptions extends IPropertyItemOptionsBase {
8868
10313
  *
8869
10314
  */
8870
10315
  inlineLabel?: boolean;
10316
+ /**
10317
+ * @remarks
10318
+ * If defined, string will be handled as multiline input.
10319
+ *
10320
+ */
10321
+ multilineHeight?: number;
8871
10322
  /**
8872
10323
  * @remarks
8873
10324
  * This callback is called when UI control value is changed.
@@ -8948,6 +10399,12 @@ export interface ISubPanePropertyItemOptions extends IPropertyPaneOptions {
8948
10399
  *
8949
10400
  */
8950
10401
  hasMargins?: boolean;
10402
+ /**
10403
+ * @remarks
10404
+ * Pane icon shown in front of the pane header
10405
+ *
10406
+ */
10407
+ icon?: string;
8951
10408
  /**
8952
10409
  * @remarks
8953
10410
  * Determines layout of sub pane property items. If undefined,
@@ -8976,6 +10433,133 @@ export interface ISubPanePropertyItemOptions extends IPropertyPaneOptions {
8976
10433
  width?: number | LayoutSize;
8977
10434
  }
8978
10435
 
10436
+ /**
10437
+ * A property item which supports Tag Container properties
10438
+ */
10439
+ // @ts-ignore Class inheritance allowed for native defined classes
10440
+ export interface ITagContainerPropertyItem extends IPropertyItemBase {
10441
+ /**
10442
+ * @remarks
10443
+ * Current tags value of the property item.
10444
+ *
10445
+ */
10446
+ readonly tags: ReadonlyArray<string>;
10447
+ /**
10448
+ * @remarks
10449
+ * Current tags pool value of the property item.
10450
+ *
10451
+ */
10452
+ readonly tagsPool: ReadonlyArray<string>;
10453
+ /**
10454
+ * @remarks
10455
+ * Adds a tag to the current tags.
10456
+ *
10457
+ * @param tag
10458
+ * Tag to add.
10459
+ */
10460
+ addTag(tag: string): void;
10461
+ /**
10462
+ * @remarks
10463
+ * Adds a tag to the tags pool.
10464
+ *
10465
+ * @param tag
10466
+ * Tag to add to the pool.
10467
+ */
10468
+ addTagToPool(tag: string): void;
10469
+ /**
10470
+ * @remarks
10471
+ * Removes a tag from the current tags.
10472
+ *
10473
+ * @param tag
10474
+ * Tag to remove.
10475
+ */
10476
+ removeTag(tag: string): void;
10477
+ /**
10478
+ * @remarks
10479
+ * Removes a tag from the tags pool.
10480
+ *
10481
+ * @param tag
10482
+ * Tag to remove from the pool.
10483
+ */
10484
+ removeTagFromPool(tag: string): void;
10485
+ /**
10486
+ * @remarks
10487
+ * Updates all tags.
10488
+ *
10489
+ * @param tags
10490
+ * New tags array.
10491
+ */
10492
+ setTags(tags: string[] | undefined): void;
10493
+ /**
10494
+ * @remarks
10495
+ * Updates the tags pool.
10496
+ *
10497
+ * @param tagsPool
10498
+ * New tags pool array.
10499
+ */
10500
+ setTagsPool(tagsPool: string[] | undefined): void;
10501
+ /**
10502
+ * @remarks
10503
+ * Set title of the property item.
10504
+ *
10505
+ * @param title
10506
+ * New title.
10507
+ */
10508
+ setTitle(title: LocalizedString): void;
10509
+ /**
10510
+ * @remarks
10511
+ * Sets the visual variant of the tag container.
10512
+ *
10513
+ * @param variant
10514
+ * New variant.
10515
+ */
10516
+ setVariant(variant: TagContainerVariant | undefined): void;
10517
+ }
10518
+
10519
+ /**
10520
+ * Optional properties for Tag Container property item
10521
+ */
10522
+ // @ts-ignore Class inheritance allowed for native defined classes
10523
+ export interface ITagContainerPropertyItemOptions extends IPropertyItemOptionsBase {
10524
+ /**
10525
+ * @remarks
10526
+ * This callback is called when a tag is added.
10527
+ *
10528
+ */
10529
+ onTagAdded?: (tag: string) => void;
10530
+ /**
10531
+ * @remarks
10532
+ * This callback is called when a tag is removed.
10533
+ *
10534
+ */
10535
+ onTagRemoved?: (tag: string) => void;
10536
+ /**
10537
+ * @remarks
10538
+ * Initial tags for the container.
10539
+ *
10540
+ */
10541
+ tags?: string[];
10542
+ /**
10543
+ * @remarks
10544
+ * Available tags pool to select from.
10545
+ *
10546
+ */
10547
+ tagsPool?: string[];
10548
+ /**
10549
+ * @remarks
10550
+ * Localized title of the property item.
10551
+ *
10552
+ */
10553
+ title?: LocalizedString;
10554
+ /**
10555
+ * @remarks
10556
+ * Visual variant of the tag container. If undefined, it will
10557
+ * default to Inverted.
10558
+ *
10559
+ */
10560
+ variant?: TagContainerVariant;
10561
+ }
10562
+
8979
10563
  /**
8980
10564
  * A property item which supports Text properties
8981
10565
  */
@@ -9377,6 +10961,160 @@ export interface IVector3PropertyItemOptions extends IPropertyItemOptionsBase {
9377
10961
  tooltip?: BasicTooltipContent;
9378
10962
  }
9379
10963
 
10964
+ /**
10965
+ * A property item which supports Vector3 Timeline properties
10966
+ */
10967
+ // @ts-ignore Class inheritance allowed for native defined classes
10968
+ export interface IVector3TimelinePropertyItem extends IPropertyItemBase {
10969
+ /**
10970
+ * @remarks
10971
+ * Update vector3 timeline entry
10972
+ *
10973
+ * @param data
10974
+ * New vector3 node.
10975
+ */
10976
+ addNode(data: IVector3TimelinePropertyItemEntry): void;
10977
+ /**
10978
+ * @remarks
10979
+ * Get the list of nodes in the property item.
10980
+ *
10981
+ */
10982
+ getData(): IVector3TimelinePropertyItemEntry[];
10983
+ /**
10984
+ * @remarks
10985
+ * Get time current time value on the slider.
10986
+ *
10987
+ */
10988
+ getTime(): number;
10989
+ /**
10990
+ * @remarks
10991
+ * Remove vector3 node
10992
+ *
10993
+ * @param data
10994
+ * Node to be removed.
10995
+ */
10996
+ removeNode(data: IVector3TimelinePropertyItemEntry): void;
10997
+ /**
10998
+ * @remarks
10999
+ * Updates data entries value bounds.
11000
+ *
11001
+ */
11002
+ setBounds(bounds: { minValue: number; maxValue: number }): void;
11003
+ /**
11004
+ * @remarks
11005
+ * Set custom decimal precision for the calculations
11006
+ *
11007
+ */
11008
+ setPrecision(precision: number): void;
11009
+ /**
11010
+ * @remarks
11011
+ * Set time line slider value to a new value
11012
+ *
11013
+ * @param time
11014
+ * The new time value.
11015
+ */
11016
+ setTime(time: number): void;
11017
+ /**
11018
+ * @remarks
11019
+ * Updates title of the property item.
11020
+ *
11021
+ * @param title
11022
+ * New title.
11023
+ */
11024
+ setTitle(title: LocalizedString): void;
11025
+ /**
11026
+ * @remarks
11027
+ * Update node value
11028
+ *
11029
+ * @param data
11030
+ * Node to be updated.
11031
+ */
11032
+ updateNode(data: IVector3TimelinePropertyItemEntry): void;
11033
+ }
11034
+
11035
+ /**
11036
+ * Properties of vector3 timeline property item entry
11037
+ */
11038
+ export interface IVector3TimelinePropertyItemEntry {
11039
+ color?: minecraftserver.RGBA;
11040
+ id: string;
11041
+ time: number;
11042
+ value: minecraftserver.Vector3;
11043
+ }
11044
+
11045
+ /**
11046
+ * Optional properties for Vector3 Timeline property item
11047
+ */
11048
+ // @ts-ignore Class inheritance allowed for native defined classes
11049
+ export interface IVector3TimelinePropertyItemOptions extends IPropertyItemOptionsBase {
11050
+ /**
11051
+ * @remarks
11052
+ * The data bounds for the value node property
11053
+ *
11054
+ */
11055
+ bounds?: {
11056
+ minValue: number;
11057
+ maxValue: number;
11058
+ };
11059
+ /**
11060
+ * @remarks
11061
+ * Custom precision for the calculations
11062
+ *
11063
+ */
11064
+ decimalPrecision?: number;
11065
+ /**
11066
+ * @remarks
11067
+ * If true, nodes cannot be added or removed
11068
+ *
11069
+ */
11070
+ disableAddRemoveNodes?: boolean;
11071
+ /**
11072
+ * @remarks
11073
+ * List of nodes entries in the vector3 timeline.
11074
+ *
11075
+ */
11076
+ entries?: IVector3TimelinePropertyItemEntry[];
11077
+ /**
11078
+ * @remarks
11079
+ * True means nodes cannot be dragged or modified
11080
+ *
11081
+ */
11082
+ isGraphReadOnly?: boolean;
11083
+ /**
11084
+ * @remarks
11085
+ * Callback triggered when a new vector3 node is added to the
11086
+ * timeline.
11087
+ *
11088
+ */
11089
+ onNodeAdded?: (node: IVector3TimelinePropertyItemEntry) => void;
11090
+ /**
11091
+ * @remarks
11092
+ * Callback triggered when a timeline node's vector3 value
11093
+ * changes.
11094
+ *
11095
+ */
11096
+ onNodeChanged?: (node: IVector3TimelinePropertyItemEntry) => void;
11097
+ /**
11098
+ * @remarks
11099
+ * Callback triggered when a vector3 node is removed from the
11100
+ * timeline. *
11101
+ *
11102
+ */
11103
+ onNodeRemoved?: (node: IVector3TimelinePropertyItemEntry) => void;
11104
+ /**
11105
+ * @remarks
11106
+ * This callback is called when UI control time is changed.
11107
+ *
11108
+ */
11109
+ onTimeChanged?: (current: number, prev: number) => void;
11110
+ /**
11111
+ * @remarks
11112
+ * Localized title of the property item
11113
+ *
11114
+ */
11115
+ title?: LocalizedString;
11116
+ }
11117
+
9380
11118
  export interface LocalizationEntry {
9381
11119
  id: string;
9382
11120
  props?: string[];
@@ -9421,6 +11159,22 @@ export interface LogProperties {
9421
11159
  tags?: string[];
9422
11160
  }
9423
11161
 
11162
+ export interface MinimapCreateOptions {
11163
+ dataId?: string;
11164
+ freeCenter?: minecraftserver.VectorXZ;
11165
+ trackingMode?: MinimapTrackingMode;
11166
+ yLevel?: number;
11167
+ }
11168
+
11169
+ export interface MinimapMarkerData {
11170
+ clickable: boolean;
11171
+ color: minecraftserver.RGBA;
11172
+ label: string;
11173
+ position: minecraftserver.Vector3;
11174
+ rotation: number;
11175
+ tooltip: string;
11176
+ }
11177
+
9424
11178
  /**
9425
11179
  * Represents parameters to create a modal dialog
9426
11180
  */
@@ -9510,6 +11264,8 @@ export interface ProjectExportOptions {
9510
11264
  export interface PyramidBrushShapeSettings {
9511
11265
  depth: number;
9512
11266
  height: number;
11267
+ hollow: boolean;
11268
+ thickness: number;
9513
11269
  uniform: boolean;
9514
11270
  width: number;
9515
11271
  xRotation: number;
@@ -9664,6 +11420,12 @@ export interface WidgetGroupCreateOptions {
9664
11420
  visible?: boolean;
9665
11421
  }
9666
11422
 
11423
+ export interface WireframeMeshOptions {
11424
+ alpha?: number;
11425
+ rotation?: minecraftserver.Vector3;
11426
+ scale?: minecraftserver.Vector3;
11427
+ }
11428
+
9667
11429
  // @ts-ignore Class inheritance allowed for native defined classes
9668
11430
  export class InvalidWidgetComponentError extends Error {
9669
11431
  private constructor();
@@ -9679,6 +11441,11 @@ export class InvalidWidgetGroupError extends Error {
9679
11441
  private constructor();
9680
11442
  }
9681
11443
 
11444
+ // @ts-ignore Class inheritance allowed for native defined classes
11445
+ export class TransactionManagerNoChangesError extends Error {
11446
+ private constructor();
11447
+ }
11448
+
9682
11449
  /**
9683
11450
  * @remarks
9684
11451
  * Deserialize anything, defaults to the same behavior as