@rbxts/types 1.0.663 → 1.0.665

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.
@@ -53,6 +53,7 @@ interface Services {
53
53
  ILegacyStudioBridge: ILegacyStudioBridge;
54
54
  IncrementalPatchBuilder: IncrementalPatchBuilder;
55
55
  InsertService: InsertService;
56
+ InternalSyncService: InternalSyncService;
56
57
  IXPService: IXPService;
57
58
  JointsService: JointsService;
58
59
  KeyframeSequenceProvider: KeyframeSequenceProvider;
@@ -66,12 +67,14 @@ interface Services {
66
67
  LSPFileSyncService: LSPFileSyncService;
67
68
  LuauScriptAnalyzerService: LuauScriptAnalyzerService;
68
69
  MarketplaceService: MarketplaceService;
70
+ MaterialGenerationService: MaterialGenerationService;
69
71
  MaterialService: MaterialService;
70
72
  MemoryStoreService: MemoryStoreService;
71
73
  MessageBusService: MessageBusService;
72
74
  MessagingService: MessagingService;
73
75
  MetaBreakpointManager: MetaBreakpointManager;
74
76
  PackageUIService: PackageUIService;
77
+ PatchBundlerFileWatch: PatchBundlerFileWatch;
75
78
  PathfindingService: PathfindingService;
76
79
  PhysicsService: PhysicsService;
77
80
  Players: Players;
@@ -97,6 +100,7 @@ interface Services {
97
100
  ServerScriptService: ServerScriptService;
98
101
  ServerStorage: ServerStorage;
99
102
  SessionService: SessionService;
103
+ SharedTableRegistry: SharedTableRegistry;
100
104
  ShorelineUpgraderService: ShorelineUpgraderService;
101
105
  SmoothVoxelsUpgraderService: SmoothVoxelsUpgraderService;
102
106
  SnippetService: SnippetService;
@@ -176,6 +180,7 @@ interface CreatableInstances {
176
180
  BoxHandleAdornment: BoxHandleAdornment;
177
181
  Breakpoint: Breakpoint;
178
182
  BrickColorValue: BrickColorValue;
183
+ BuoyancySensor: BuoyancySensor;
179
184
  Camera: Camera;
180
185
  CanvasGroup: CanvasGroup;
181
186
  CFrameValue: CFrameValue;
@@ -190,6 +195,7 @@ interface CreatableInstances {
190
195
  ConeHandleAdornment: ConeHandleAdornment;
191
196
  Configuration: Configuration;
192
197
  ControllerManager: ControllerManager;
198
+ ControllerPartSensor: ControllerPartSensor;
193
199
  CornerWedgePart: CornerWedgePart;
194
200
  CurveAnimation: CurveAnimation;
195
201
  CylinderHandleAdornment: CylinderHandleAdornment;
@@ -236,6 +242,8 @@ interface CreatableInstances {
236
242
  ImageHandleAdornment: ImageHandleAdornment;
237
243
  ImageLabel: ImageLabel;
238
244
  IntConstrainedValue: IntConstrainedValue;
245
+ InternalSyncItem: InternalSyncItem;
246
+ IntersectOperation: IntersectOperation;
239
247
  IntValue: IntValue;
240
248
  Keyframe: Keyframe;
241
249
  KeyframeMarker: KeyframeMarker;
@@ -432,6 +440,7 @@ interface Instances extends Services, CreatableInstances, AbstractInstances {
432
440
  CloudLocalizationTable: CloudLocalizationTable;
433
441
  CommandInstance: CommandInstance;
434
442
  ControllerBase: ControllerBase;
443
+ ControllerSensor: ControllerSensor;
435
444
  CoreScriptBuilder: CoreScriptBuilder;
436
445
  CustomSoundEffect: CustomSoundEffect;
437
446
  DataModel: DataModel;
@@ -447,11 +456,11 @@ interface Instances extends Services, CreatableInstances, AbstractInstances {
447
456
  DebuggerConnection: DebuggerConnection;
448
457
  DebuggerLuaResponse: DebuggerLuaResponse;
449
458
  DebuggerVariable: DebuggerVariable;
450
- DynamicTextureAlpha: DynamicTextureAlpha;
451
- DynamicTextureLayerAlpha: DynamicTextureLayerAlpha;
452
459
  EmotesPages: EmotesPages;
460
+ FacialAnimationStreamingServiceStats: FacialAnimationStreamingServiceStats;
453
461
  FriendPages: FriendPages;
454
462
  GlobalDataStore: GlobalDataStore;
463
+ ImageDataExperimental: ImageDataExperimental;
455
464
  ImporterAnimationSettings: ImporterAnimationSettings;
456
465
  ImporterBaseSettings: ImporterBaseSettings;
457
466
  ImporterFacsSettings: ImporterFacsSettings;
@@ -465,6 +474,7 @@ interface Instances extends Services, CreatableInstances, AbstractInstances {
465
474
  InventoryPages: InventoryPages;
466
475
  LocalDebuggerConnection: LocalDebuggerConnection;
467
476
  LodDataEntity: LodDataEntity;
477
+ MaterialGenerationSession: MaterialGenerationSession;
468
478
  MemoryStoreQueue: MemoryStoreQueue;
469
479
  MemoryStoreSortedMap: MemoryStoreSortedMap;
470
480
  MessageBusConnection: MessageBusConnection;
@@ -491,18 +501,21 @@ interface Instances extends Services, CreatableInstances, AbstractInstances {
491
501
  ScreenshotHud: ScreenshotHud;
492
502
  ScriptBuilder: ScriptBuilder;
493
503
  ScriptDocument: ScriptDocument;
504
+ SensorBase: SensorBase;
494
505
  Speaker: Speaker;
495
506
  StackFrame: StackFrame;
496
507
  StandardPages: StandardPages;
497
508
  StarterCharacterScripts: StarterCharacterScripts;
498
509
  StarterPlayerScripts: StarterPlayerScripts;
499
510
  SurfaceGuiBase: SurfaceGuiBase;
511
+ SyncScriptBuilder: SyncScriptBuilder;
500
512
  TeleportAsyncResult: TeleportAsyncResult;
501
513
  Terrain: Terrain;
502
514
  TextChatConfigurations: TextChatConfigurations;
503
515
  TextChatMessage: TextChatMessage;
504
516
  TextFilterResult: TextFilterResult;
505
517
  TextSource: TextSource;
518
+ TextureGuiExperimental: TextureGuiExperimental;
506
519
  ThreadState: ThreadState;
507
520
  TouchTransmitter: TouchTransmitter;
508
521
  TrackerLodController: TrackerLodController;
@@ -1671,7 +1684,7 @@ interface AnimationController extends Instance {
1671
1684
  * local animationTracks = {}
1672
1685
  * local track = animationController:LoadTrack(animation)
1673
1686
  * table.insert(animationTracks, track)
1674
- * Tags: Deprecated
1687
+ * Tags: Deprecated, [object Object]
1675
1688
  * @deprecated
1676
1689
  */
1677
1690
  GetPlayingAnimationTracks(this: AnimationController): Array<AnimationTrack>;
@@ -1706,7 +1719,7 @@ interface AnimationController extends Instance {
1706
1719
  *
1707
1720
  * * [Using the Animation Editor](https://developer.roblox.com/articles/using-animation-editor), explore this powerful built-in plugin for creating custom animations
1708
1721
  * * [Using Animations in Games](https://developer.roblox.com/articles/using-animations-in-games), learn how to add pre-built and custom animations to your game
1709
- * Tags: Deprecated
1722
+ * Tags: Deprecated, [object Object]
1710
1723
  * @deprecated
1711
1724
  */
1712
1725
  LoadAnimation(this: AnimationController, animation: Animation): AnimationTrack;
@@ -1716,7 +1729,7 @@ interface AnimationController extends Instance {
1716
1729
  * The [AnimationTrack](https://developer.roblox.com/en-us/api-reference/class/AnimationTrack) can be used to access the animation's playback functions and events. It will only fire for animations playing on the specific [AnimationController](https://developer.roblox.com/en-us/api-reference/class/AnimationController).
1717
1730
  *
1718
1731
  * See [Humanoid.AnimationPlayed](https://developer.roblox.com/en-us/api-reference/event/Humanoid/AnimationPlayed) for the [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) variant of this function.
1719
- * Tags: Deprecated
1732
+ * Tags: Deprecated, [object Object]
1720
1733
  * @deprecated
1721
1734
  */
1722
1735
  readonly AnimationPlayed: RBXScriptSignal<(animationTrack: AnimationTrack) => void>;
@@ -2015,6 +2028,10 @@ interface Animator extends Instance {
2015
2028
  * @deprecated
2016
2029
  */
2017
2030
  readonly _nominal_Animator: unique symbol;
2031
+ /**
2032
+ * Tags: ReadOnly, NotReplicated, NotBrowsable
2033
+ */
2034
+ readonly EvaluationThrottled: boolean;
2018
2035
  PreferLodEnabled: boolean;
2019
2036
  /**
2020
2037
  * Given the current set of [AnimationTracks](https://developer.roblox.com/en-us/api-reference/class/AnimationTrack) playing, and their current times and play speeds, compute relative velocities between the parts and apply them to Motor6D.Part1 (the part which [Animator](https://developer.roblox.com/en-us/api-reference/class/Animator) considers the “child” part). These relative velocity calculations and assignments happen in the order provided.
@@ -2114,7 +2131,8 @@ interface AssetImportSession extends Instance {
2114
2131
  * @deprecated
2115
2132
  */
2116
2133
  readonly _nominal_AssetImportSession: unique symbol;
2117
- readonly UploadComplete: RBXScriptSignal<(succeeded: boolean, errorMap: object) => void>;
2134
+ readonly UploadComplete: RBXScriptSignal<(results: object) => void>;
2135
+ readonly UploadCompleteDeprecated: RBXScriptSignal<(succeeded: boolean, errorMap: object) => void>;
2118
2136
  readonly UploadProgress: RBXScriptSignal<(progressRatio: number) => void>;
2119
2137
  }
2120
2138
 
@@ -2251,7 +2269,7 @@ interface AssetService extends Instance {
2251
2269
  * ----
2252
2270
  *
2253
2271
  * This member is broken and currently does not function correctly. You should avoid using it for now.
2254
- * Tags: Yields, Deprecated
2272
+ * Tags: Yields, Deprecated, [object Object]
2255
2273
  * @deprecated
2256
2274
  */
2257
2275
  GetCreatorAssetID(this: AssetService, creationID: number): number;
@@ -2401,7 +2419,7 @@ interface Attachment extends Instance {
2401
2419
  Position: Vector3;
2402
2420
  /**
2403
2421
  * A [Vector3](https://developer.roblox.com/api-reference/datatype/Vector3 "Vector3") that describes the rotation of the Attachment relative to the rotation of its parent, in degrees. Rotations are applied in Z, Y, X order.
2404
- * Tags: Hidden, NotReplicated, Deprecated
2422
+ * Tags: Hidden, NotReplicated, Deprecated, [object Object]
2405
2423
  * @deprecated
2406
2424
  */
2407
2425
  Rotation: Vector3;
@@ -2445,7 +2463,7 @@ interface Attachment extends Instance {
2445
2463
  WorldPosition: Vector3;
2446
2464
  /**
2447
2465
  * Determines the rotation (in degrees) of the attachment relative to the world, rather than the parent of the [Attachment](https://developer.roblox.com/en-us/api-reference/class/Attachment).
2448
- * Tags: Hidden, ReadOnly, NotReplicated, Deprecated
2466
+ * Tags: Hidden, ReadOnly, NotReplicated, Deprecated, [object Object]
2449
2467
  * @deprecated
2450
2468
  */
2451
2469
  readonly WorldRotation: Vector3;
@@ -2456,25 +2474,25 @@ interface Attachment extends Instance {
2456
2474
  WorldSecondaryAxis: Vector3;
2457
2475
  /**
2458
2476
  * Returns the value of the Attachment's [Attachment.Axis](https://developer.roblox.com/en-us/api-reference/property/Attachment/Axis).
2459
- * Tags: Deprecated
2477
+ * Tags: Deprecated, [object Object]
2460
2478
  * @deprecated
2461
2479
  */
2462
2480
  GetAxis(this: Attachment): Vector3;
2463
2481
  /**
2464
2482
  * Returns the value of the Attachment's [Attachment.SecondaryAxis](https://developer.roblox.com/en-us/api-reference/property/Attachment/SecondaryAxis).
2465
- * Tags: Deprecated
2483
+ * Tags: Deprecated, [object Object]
2466
2484
  * @deprecated
2467
2485
  */
2468
2486
  GetSecondaryAxis(this: Attachment): Vector3;
2469
2487
  /**
2470
2488
  * Sets the value of the Attachment's [Attachment.Axis](https://developer.roblox.com/en-us/api-reference/property/Attachment/Axis).
2471
- * Tags: Deprecated
2489
+ * Tags: Deprecated, [object Object]
2472
2490
  * @deprecated
2473
2491
  */
2474
2492
  SetAxis(this: Attachment, axis: Vector3): void;
2475
2493
  /**
2476
2494
  * Sets the value of the Attachment's [Attachment.SecondaryAxis](https://developer.roblox.com/en-us/api-reference/property/Attachment/SecondaryAxis).
2477
- * Tags: Deprecated
2495
+ * Tags: Deprecated, [object Object]
2478
2496
  * @deprecated
2479
2497
  */
2480
2498
  SetSecondaryAxis(this: Attachment, axis: Vector3): void;
@@ -2943,243 +2961,6 @@ interface Backpack extends Instance {
2943
2961
  readonly _nominal_Backpack: unique symbol;
2944
2962
  }
2945
2963
 
2946
- /** BackpackItem is an abstract class for backpack items such as HopperBins and Tools. */
2947
- interface BackpackItem extends Instance {
2948
- /**
2949
- * **DO NOT USE!**
2950
- *
2951
- * This field exists to force TypeScript to recognize this as a nominal type
2952
- * @hidden
2953
- * @deprecated
2954
- */
2955
- readonly _nominal_BackpackItem: unique symbol;
2956
- /**
2957
- * The texture icon that is displayed for a tool in the [Player](https://developer.roblox.com/en-us/api-reference/class/Player)'s backpack.
2958
- *
2959
- * This property should be set to the content ID of an image uploaded to the Roblox website.
2960
- *
2961
- * If this property is left blank, the [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack) GUI will display the name of the tool instead.
2962
- */
2963
- TextureId: string;
2964
- }
2965
-
2966
- /** Tools are objects that a [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) object can equip. For players, they are stored in a [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack) object parented to a [Player](https://developer.roblox.com/en-us/api-reference/class/Player) object. In-game, players may have multiple tools which appear as icons at the bottom of the screen. Equipping a tool moves it from the Backpack and into a player's [character](https://developer.roblox.com/en-us/api-reference/class/Character) model in the [Workspace](https://developer.roblox.com/en-us/api-reference/class/Workspace). By default, tools are held in the right hand and have a handle in them, which is a [Part](https://developer.roblox.com/en-us/api-reference/class/BasePart) named “Handle” inside (though one is not required if [Tool.RequiresHandle](https://developer.roblox.com/en-us/api-reference/property/Tool/RequiresHandle) is off). Tools that are to be provided to (re)spawning players ought to be stored in the [StarterPack](https://developer.roblox.com/en-us/api-reference/class/StarterPack).
2967
- *
2968
- * On desktop, pressing a number key (1, 2, 3…) will equip a tool. Equipped tools can be dropped into the Workspace by pressing Backspace. It's recommended that you turn [Tool.CanBeDropped](https://developer.roblox.com/en-us/api-reference/property/Tool/CanBeDropped) off so it is not possible to drop a tool, die, respawn and drop again to duplicate tools. On gamepads, LB and RB buttons will equip tools. You can disable activation via left click (or right trigger on gamepad) by setting [Tool.ManualActivationOnly](https://developer.roblox.com/en-us/api-reference/property/Tool/ManualActivationOnly) on. Doing so requires that you call Activate yourself through some sort of other user input.
2969
- *
2970
- * Tools are not the only way to capture user input. You can also use [ContextActionService](https://developer.roblox.com/en-us/api-reference/class/ContextActionService), [UserInputService](https://developer.roblox.com/en-us/api-reference/class/UserInputService) or [Player:GetMouse](https://developer.roblox.com/en-us/api-reference/function/Player/GetMouse). If you need a Tool to have multiple actions, such as pressing a key while the Tool is equipped, you should use ContextActionService's [BindAction](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/BindAction) and [UnbindAction](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/UnbindAction) in the [Equipped](https://developer.roblox.com/en-us/api-reference/event/Tool/Equipped) and [Unequipped](https://developer.roblox.com/en-us/api-reference/event/Tool/Unequipped) events, respectively. Use a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) send these actions to the server via a [RemoteFunction](https://developer.roblox.com/en-us/api-reference/class/RemoteFunction) inside the Tool.
2971
- */
2972
- interface Tool extends BackpackItem {
2973
- /**
2974
- * **DO NOT USE!**
2975
- *
2976
- * This field exists to force TypeScript to recognize this as a nominal type
2977
- * @hidden
2978
- * @deprecated
2979
- */
2980
- readonly _nominal_Tool: unique symbol;
2981
- /**
2982
- * The CanBeDropped property controls whether the player can drop the [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool).
2983
- *
2984
- * If true, when the backspace button is pressed the tool will be parented to the [Workspace](https://developer.roblox.com/en-us/api-reference/class/Workspace) and removed from the player's [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack). If false, the when the backspace button is pressed the tool will go back to the player's Backpack and it will not be dropped.
2985
- */
2986
- CanBeDropped: boolean;
2987
- /**
2988
- * The Enabled property relates to whether or not the [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) can be used. This is useful if you want to prevent a player from using a tool, but do not want to remove it from their [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack).
2989
- *
2990
- * When set to true, the tool can use the tool.
2991
- *
2992
- * When set to false, the tool is disabled and the player cannot use the tool. It prevents the tool from being activated or deactivated by `the Tool/Activate` and [Tool:Deactivate](https://developer.roblox.com/en-us/api-reference/function/Tool/Deactivate) functions. It also prevents the [Tool.Activated](https://developer.roblox.com/en-us/api-reference/event/Tool/Activated) and [Tool.Deactivated](https://developer.roblox.com/en-us/api-reference/event/Tool/Deactivated) events from firing for the tool.
2993
- */
2994
- Enabled: boolean;
2995
- /**
2996
- * The Grip property stores the [Tool's](https://developer.roblox.com/en-us/api-reference/class/Tool) Grip properties as a single [CFrame](https://developer.roblox.com/en-us/api-reference/datatype/CFrame). This includes the `Grip/Up|Up`, `Grip/Right|Right`, `Grip/Forward|Forward`, and `Grip/Pos|Pos` properties.
2997
- *
2998
- * The grip properties are used to position how the player holds the tool.
2999
- *
3000
- * Unlike the grip properties that it stores, this property is not visible in a tool's `Properties` window in Studio. Regardless, it can be set and retrieved using a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) or [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript).
3001
- *
3002
- * ![Grip properties in Studio's Properties Window](https://developer.roblox.com/assets/blt87cc763d68414be8/Screen_Shot_2018-08-26_at_8.35.48_PM.png)
3003
- *
3004
- * In order to change a tool's grip properties, you must either use a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) or [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) or a Studio plugin such as [this](https://developer.roblox.com/assets/blt87cc763d68414be8/Screen_Shot_2018-08-26_at_8.35.48_PM.png) one.
3005
- */
3006
- Grip: CFrame;
3007
- /**
3008
- * The GripForward properties is one of the properties that specifies a Tool's orientation in a character's hand. This represents the R02, R12, and R22 values of the Grip [CFrame's](https://developer.roblox.com/en-us/api-reference/datatype/CFrame) rotation matrix.
3009
- *
3010
- * Other tool properties that control how a player holds a tool include: `Grip/GripUp|Up`, `Grip/GripRight|Right`, and `Grip/GripPos|Pos` properties. All of these properties are stored in a single CFrame in the [Tool.Grip](https://developer.roblox.com/en-us/api-reference/property/Tool/Grip) property.
3011
- *
3012
- * In order to change a tool's grip properties, you must either use a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) or [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) or a Studio plugin such as [this](https://www.roblox.com/library/174577307/Tool-Grip-Editor-Plugin) one.
3013
- * Tags: Hidden, NotReplicated
3014
- */
3015
- GripForward: Vector3;
3016
- /**
3017
- * The GripPos property controls the positional offset of a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) weld matrix. It is one of several properties used to position how the player holds the tool.
3018
- *
3019
- * Other tool properties that control how a player holds a tool include: `Grip/GripUp|Up`, `Grip/GripRight|Right`, and `Grip/GripForward|Forward` properties. All of these properties are stored in a single CFrame in the [Tool.Grip](https://developer.roblox.com/en-us/api-reference/property/Tool/Grip) property.
3020
- *
3021
- * In order to change a tool's grip properties, you must either use a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) or [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) or a plugin such as [this](https://www.roblox.com/library/174577307/Tool-Grip-Editor-Plugin) one.
3022
- * Tags: Hidden, NotReplicated
3023
- */
3024
- GripPos: Vector3;
3025
- /**
3026
- * The GripRight property is one of the properties that specifies a [Tool's](https://developer.roblox.com/en-us/api-reference/class/Tool) orientation in a character's hand. This represents the R00, R10, and R20 values of the Grip [CFrame's](https://developer.roblox.com/en-us/api-reference/datatype/CFrame) rotation matrix.
3027
- *
3028
- * Other tool properties that control how a player holds a tool include: `Grip/GripUp|Up`, `Grip/GripForward|Forward`, and `Grip/GripPos|Pos` properties. All of these properties are stored in a single CFrame in the [Tool.Grip](https://developer.roblox.com/en-us/api-reference/property/Tool/Grip) property.
3029
- *
3030
- * In order to change a tool's grip properties, you must either use a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) or [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) or a plugin such as [this](https://www.roblox.com/library/174577307/Tool-Grip-Editor-Plugin) one.
3031
- * Tags: Hidden, NotReplicated
3032
- */
3033
- GripRight: Vector3;
3034
- /**
3035
- * The GripUp property is one of the properties that specifies a Tool's orientation in a character's hand. This represents the R01, R11, and R21 values of the Grip [CFrame's](https://developer.roblox.com/en-us/api-reference/datatype/CFrame) rotation matrix.
3036
- *
3037
- * Other tool properties that control how a player holds a tool include: `Grip/GripRight|Right`, `Grip/GripForward|Forward`, and `Grip/GripPos|Pos` properties. All of these properties are stored in a single CFrame in the [Tool.Grip](https://developer.roblox.com/en-us/api-reference/property/Tool/Grip) property.
3038
- *
3039
- * In order to change a tool's grip properties, you must either use a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) or [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) or a plugin such as [this](https://www.roblox.com/library/174577307/Tool-Grip-Editor-Plugin) one.
3040
- * Tags: Hidden, NotReplicated
3041
- */
3042
- GripUp: Vector3;
3043
- /**
3044
- * The ManualActivationOnly property controls whether the [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) can be activated without explicitly executing [Tool:Activate](https://developer.roblox.com/en-us/api-reference/function/Tool/Activate) in a script.
3045
- *
3046
- * When set to true, the tool will only fire [Tool.Activated](https://developer.roblox.com/en-us/api-reference/event/Tool/Activated) when [Tool:Activate](https://developer.roblox.com/en-us/api-reference/function/Tool/Activate) is called. This also suppresses the [ContextActionService](https://developer.roblox.com/en-us/api-reference/class/ContextActionService)'s [ContextActionService:BindActivate](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/BindActivate) function.
3047
- *
3048
- * When set to false, mouse clicks (when the tool is equipped) will also fire [Tool.Activated](https://developer.roblox.com/en-us/api-reference/event/Tool/Activated).
3049
- */
3050
- ManualActivationOnly: boolean;
3051
- /**
3052
- * The RequiresTool property determines whether a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) functions without a handle.
3053
- *
3054
- * A tool has a handle when it has a child part named “Handle”. Tools without handles are typically ones that do not require the player equipping them to hold anything to use them. For instance, handles may not be necessary for _fly_ or _build_ tools. Tools with handles are typically ones that require the player equipping them to hold an object to use them. For instance, handle are likely necessary for weapons such as guns and swords.
3055
- *
3056
- * When set to true, the tool will function and be [activated](https://developer.roblox.com/en-us/api-reference/event/Tool/Activated) and [deactivated](https://developer.roblox.com/en-us/api-reference/event/Tool/Deactivated) without a handle.
3057
- *
3058
- * When set to false, the tool will not function without a handle.
3059
- */
3060
- RequiresHandle: boolean;
3061
- /**
3062
- * The ToolTip property controls the message that will be displayed when the player's [Mouse](https://developer.roblox.com/en-us/api-reference/class/Mouse) hovers over the [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) in their [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack).
3063
- *
3064
- * Generally, the value of this property should describe the what the tool is or its use. For instance, for a shovel tool, you may choose to set the ToolTip to:
3065
- *
3066
- * tool.ToolTip = "Shovel"
3067
- *
3068
- * or
3069
- *
3070
- * tool.ToolTip = "Use to dig"
3071
- *
3072
- * or
3073
- *
3074
- * tool.ToolTip = "Shovel - Use to dig"
3075
- */
3076
- ToolTip: string;
3077
- /**
3078
- * The Activate function simulates a click on a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool). The Tool must be equipped for this function to work.
3079
- *
3080
- * Tools will normally trigger the [Tool.Activated](https://developer.roblox.com/en-us/api-reference/event/Tool/Activated) event when the player releases the left mouse button, while the tool is equipped.
3081
- *
3082
- * The below code, when placed in a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript), would create a tool in the [LocalPlayer's](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack). It will simulate the tool being activated and print “Tool activated” when the player equips the tool.
3083
- *
3084
- * local tool = Instance.new("Tool")
3085
- * tool.RequiresHandle = false
3086
- * tool.Parent = game.Players.LocalPlayer.Backpack
3087
- *
3088
- * tool.Equipped:Connect(function()
3089
- * tool:Activate()
3090
- * end)
3091
- *
3092
- * function toolActivated()
3093
- * print("Tool activated")
3094
- * end
3095
- *
3096
- * tool.Activated:Connect(toolActivated)
3097
- */
3098
- Activate(this: Tool): void;
3099
- /**
3100
- * The Deactivate function simulates the deactivation of a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool). The Tool must be equipped for this function to work.
3101
- *
3102
- * Tools will normally trigger the [Tool.Deactivated](https://developer.roblox.com/en-us/api-reference/event/Tool/Deactivated) event when the player releases the left mouse button, while the tool is equipped.
3103
- *
3104
- * The below code, when placed in a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript), would create a tool in the [LocalPlayer's](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack). It will simulate the tool being deactivated and print “Tool deactivated” when the player equips the tool.
3105
- *
3106
- * local tool = Instance.new("Tool")
3107
- * tool.RequiresHandle = false
3108
- * tool.Parent = game.Players.LocalPlayer.Backpack
3109
- *
3110
- * tool.Equipped:Connect(function()
3111
- * tool:Deactivate()
3112
- * end)
3113
- *
3114
- * function toolDeactivated()
3115
- * print("Tool deactivated")
3116
- * end
3117
- *
3118
- * tool.Deactivated:Connect(toolDeactivated)
3119
- */
3120
- Deactivate(this: Tool): void;
3121
- /**
3122
- * **Activated** is not called if the Ctrl key is pressed during a click.
3123
- *
3124
- * The Activated event fires when the player clicks while a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) is equipped.
3125
- *
3126
- * This function is used to perform an action when the player uses the tool. For instance, when the player clicks while a _Rocket Launcher_ tool is equipped, the activated event executes the code to create and launch a rocket.
3127
- *
3128
- * The below code, when placed in a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript), would create a tool in the [LocalPlayer's](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack). It will print “Tool activated” when the player clicks while the created tool is equipped.
3129
- *
3130
- * local tool = Instance.new("Tool")
3131
- * tool.RequiresHandle = false
3132
- * tool.Parent = game.Players.LocalPlayer.Backpack
3133
- *
3134
- * function onActivation()
3135
- * print("Tool activated")
3136
- * end
3137
- *
3138
- * tool.Activated:Connect(onActivation)
3139
- */
3140
- readonly Activated: RBXScriptSignal<() => void>;
3141
- /**
3142
- * The Deactivated event fires when the left mouse button is released while a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) is equipped.
3143
- *
3144
- * This function is used to perform an action when the player stops using a tool. For instance, a tool may make a player fly until they release their left mouse button.
3145
- *
3146
- * The below code, when placed in a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript), would create a tool in the [LocalPlayer's](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack). It will print “Tool deactivated” when the player releases the left mouse button, while the tool is equipped.
3147
- *
3148
- * local tool = Instance.new("Tool")
3149
- * tool.RequiresHandle = false
3150
- * tool.Parent = game.Players.LocalPlayer.Backpack
3151
- *
3152
- * function toolDeactivated()
3153
- * print("Tool deactivated")
3154
- * end
3155
- *
3156
- * tool.Deactivated:Connect(toolDeactivated)
3157
- */
3158
- readonly Deactivated: RBXScriptSignal<() => void>;
3159
- /**
3160
- * The Equipped event fires when a player when a player takes a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) out of their [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack) to use. This event can be used to determine when a player stops using and puts a tool away.
3161
- *
3162
- * This event does not fire when [Tool.RequiresHandle](https://developer.roblox.com/en-us/api-reference/property/Tool/RequiresHandle) is enabled and no handle is present.
3163
- *
3164
- * The opposite of this event, [Tool.Unequipped](https://developer.roblox.com/en-us/api-reference/event/Tool/Unequipped), can be used alongside this event to determine unequips a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) by putting in back in their backpack.
3165
- */
3166
- readonly Equipped: RBXScriptSignal<(mouse: Mouse) => void>;
3167
- /**
3168
- * The Unequipped event fires when a player unequips a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) by putting in back in their [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack). This event can be used to determine when a player stops using and puts a tool away.
3169
- *
3170
- * This event does not fire when [Tool.RequiresHandle](https://developer.roblox.com/en-us/api-reference/property/Tool/RequiresHandle) is enabled and no handle is present.
3171
- *
3172
- * The opposite of this event, [Tool.Equipped](https://developer.roblox.com/en-us/api-reference/event/Tool/Equipped), can be used alongside this event to determine when a player takes a tool out of their backpack to use.
3173
- *
3174
- * The example shown below will print “A tool was unequipped” each time the tool is unequipped by the player. Please note that the below example assumes that you've already defined what “Tool” is.
3175
- *
3176
- * Tool.Unequipped:Connect(function()
3177
- * print("The tool was unequipped")
3178
- * end)
3179
- */
3180
- readonly Unequipped: RBXScriptSignal<() => void>;
3181
- }
3182
-
3183
2964
  /** The **BadgeService** class provides information and functionality related to [badges](https://developer.roblox.com/en-us/articles/badges-special-game-awards). Badges are used across the platform to recognize a player's achievements and activity. Upon awarding a badge to a player, it is added to their inventory and displayed on their profile page.
3184
2965
  *
3185
2966
  * See the [badges](https://developer.roblox.com/en-us/articles/badges-special-game-awards) article for more information, as well as the code samples below.
@@ -5564,7 +5345,7 @@ interface Camera extends Instance {
5564
5345
  CameraType: Enum.CameraType;
5565
5346
  /**
5566
5347
  * This property has been superseded by [Camera.CFrame](https://developer.roblox.com/en-us/api-reference/property/Camera/CFrame) which functions identically and should be used instead.
5567
- * Tags: Hidden, NotReplicated, Deprecated
5348
+ * Tags: Hidden, NotReplicated, Deprecated, [object Object]
5568
5349
  * @deprecated
5569
5350
  */
5570
5351
  CoordinateFrame: CFrame;
@@ -6386,7 +6167,7 @@ interface Chat extends Instance {
6386
6167
  FilterStringForBroadcast(this: Chat, stringToFilter: string, playerFrom: Player): string;
6387
6168
  /**
6388
6169
  * The FilterStringForPlayerAsync function filters a string appropriate to the given player's age settings, so they see what is appropriate to them. This function will only work if called from a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) on the server. If called on a client it will fail.
6389
- * Tags: Yields, Deprecated
6170
+ * Tags: Yields, Deprecated, [object Object]
6390
6171
  * @deprecated
6391
6172
  */
6392
6173
  FilterStringForPlayerAsync(this: Chat, stringToFilter: string, playerToFilterFor: Player): string;
@@ -6618,13 +6399,13 @@ interface CollectionService extends Instance {
6618
6399
  RemoveTag(this: CollectionService, instance: Instance, tag: string): void;
6619
6400
  /**
6620
6401
  * This function fires when a [Configuration](https://developer.roblox.com/en-us/api-reference/class/Configuration), [CustomEvent](https://developer.roblox.com/en-us/api-reference/class/CustomEvent), [CustomEventReceiver](https://developer.roblox.com/en-us/api-reference/class/CustomEventReceiver), [Dialog](https://developer.roblox.com/en-us/api-reference/class/Dialog), or [VehicleSeat](https://developer.roblox.com/en-us/api-reference/class/VehicleSeat) is added to the [DataModel](https://developer.roblox.com/en-us/api-reference/class/DataModel).
6621
- * Tags: Deprecated
6402
+ * Tags: Deprecated, [object Object]
6622
6403
  * @deprecated
6623
6404
  */
6624
6405
  readonly ItemAdded: RBXScriptSignal<(instance: Instance) => void>;
6625
6406
  /**
6626
6407
  * This function fires when a [Configuration](https://developer.roblox.com/en-us/api-reference/class/Configuration), [CustomEvent](https://developer.roblox.com/en-us/api-reference/class/CustomEvent), [CustomEventReceiver](https://developer.roblox.com/en-us/api-reference/class/CustomEventReceiver), [Dialog](https://developer.roblox.com/en-us/api-reference/class/Dialog), or [VehicleSeat](https://developer.roblox.com/en-us/api-reference/class/VehicleSeat) is removed from the [DataModel](https://developer.roblox.com/en-us/api-reference/class/DataModel).
6627
- * Tags: Deprecated
6408
+ * Tags: Deprecated, [object Object]
6628
6409
  * @deprecated
6629
6410
  */
6630
6411
  readonly ItemRemoved: RBXScriptSignal<(instance: Instance) => void>;
@@ -7848,7 +7629,7 @@ interface TorsionSpringConstraint extends Constraint {
7848
7629
  * In the example below, you can enable a cone limit on the relative motion of the secondary axes as follows:
7849
7630
  *
7850
7631
  * torsionSpring.LimitEnabled = true
7851
- * Tags: Hidden, Deprecated
7632
+ * Tags: Hidden, Deprecated, [object Object]
7852
7633
  * @deprecated
7853
7634
  */
7854
7635
  LimitEnabled: boolean;
@@ -8061,10 +7842,12 @@ interface ContentProvider extends Instance {
8061
7842
  * Tags: ReadOnly, NotReplicated
8062
7843
  */
8063
7844
  readonly RequestQueueSize: number;
7845
+ GetAssetFetchStatus(this: ContentProvider, contentId: string): Enum.AssetFetchStatus;
7846
+ GetAssetFetchStatusChangedSignal(this: ContentProvider, contentId: string): RBXScriptSignal;
8064
7847
  ListEncryptedAssets(this: ContentProvider): unknown;
8065
7848
  /**
8066
7849
  * Usually, content is loaded only when it starts being used. That explains why it often takes a moment for an image to appear in a [GUI](https://developer.roblox.com/en-us/api-reference/class/GuiObject), or a [mesh](https://developer.roblox.com/en-us/api-reference/class/Mesh) to appear in a [part](https://developer.roblox.com/en-us/api-reference/class/BasePart), or why a [sound](https://developer.roblox.com/en-us/api-reference/class/Sound) doesn't play for the first time. All because the asset has not yet finished loading. Preload is used to load this content beforehand, so that it works instantly.
8067
- * Tags: Deprecated
7850
+ * Tags: Deprecated, [object Object]
8068
7851
  * @deprecated
8069
7852
  */
8070
7853
  Preload(this: ContentProvider, contentId: string): void;
@@ -8222,7 +8005,7 @@ interface ContextActionService extends Instance {
8222
8005
  * If an input has more than one function bound to it, each function will be placed on a stack. A stack obeys the principle of last in first out. So the first object placed on the stack will be on the top. The next object placed on the stack becomes the top and the previous object moves one position down (like a stack of books). When the input is triggered, the function at the top of the stack is called. If the function returns Enum.ContextActionResult.Pass this will continue down the stack. To remove a function from being called by all input that it was bound by use [ContextActionService:UnbindAction](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/UnbindAction).
8223
8006
  *
8224
8007
  * BindAction allows control over whether or not a bound action should be processed by other actions on the stack using [ContextActionResult](https://developer.roblox.com/en-us/api-reference/enum/ContextActionResult). If Enum.ContextActionResult.Pass is returned in the callback function, every action below it in the stack (last function called gets executed first) will get a chance to process it. Anything other than Pass will be treated as Enum.ContextActionResult.Sink, including nil. It will also sink if the callback is yielded.
8225
- * Tags: Deprecated
8008
+ * Tags: Deprecated, [object Object]
8226
8009
  * @deprecated
8227
8010
  */
8228
8011
  BindActionToInputTypes(this: ContextActionService, actionName: string, functionToBind: Callback, createTouchButton: boolean, inputTypes: Array<any>): void;
@@ -8458,7 +8241,6 @@ interface AirController extends ControllerBase {
8458
8241
  * @deprecated
8459
8242
  */
8460
8243
  readonly _nominal_AirController: unique symbol;
8461
- CancelAirMomentum: boolean;
8462
8244
  MaintainAngularMomentum: boolean;
8463
8245
  MaintainLinearMomentum: boolean;
8464
8246
  MoveMaxForce: number;
@@ -8535,7 +8317,9 @@ interface ControllerManager extends Instance {
8535
8317
  readonly ActiveController: ControllerBase | undefined;
8536
8318
  BaseMoveSpeed: number;
8537
8319
  BaseTurnSpeed: number;
8320
+ ClimbSensor: ControllerSensor | undefined;
8538
8321
  FacingDirection: Vector3;
8322
+ GroundSensor: ControllerSensor | undefined;
8539
8323
  MovingDirection: Vector3;
8540
8324
  GetControllers(this: ControllerManager): Array<Instance>;
8541
8325
  }
@@ -9600,30 +9384,6 @@ interface DraggerService extends Instance {
9600
9384
  ShowPivotIndicator: boolean;
9601
9385
  }
9602
9386
 
9603
- interface DynamicTextureAlpha extends Instance {
9604
- /**
9605
- * **DO NOT USE!**
9606
- *
9607
- * This field exists to force TypeScript to recognize this as a nominal type
9608
- * @hidden
9609
- * @deprecated
9610
- */
9611
- readonly _nominal_DynamicTextureAlpha: unique symbol;
9612
- CreateLayer(this: DynamicTextureAlpha): DynamicTextureLayerAlpha;
9613
- }
9614
-
9615
- interface DynamicTextureLayerAlpha extends Instance {
9616
- /**
9617
- * **DO NOT USE!**
9618
- *
9619
- * This field exists to force TypeScript to recognize this as a nominal type
9620
- * @hidden
9621
- * @deprecated
9622
- */
9623
- readonly _nominal_DynamicTextureLayerAlpha: unique symbol;
9624
- ZIndex: number;
9625
- }
9626
-
9627
9387
  /** A EulerRotation Curve represents a 3D rotation curve, it groups 3 [FloatCurves](https://developer.roblox.com/en-us/api-reference/class/FloatCurve), stored as 3 FloatCurve child instances. The rotation is decomposed in 3 Euler angles channels that can be accessed via [EulerRotationCurve:X](https://developer.roblox.com/en-us/api-reference/function/EulerRotationCurve/X), [EulerRotationCurve:Y](https://developer.roblox.com/en-us/api-reference/function/EulerRotationCurve/Y), [EulerRotationCurve:Z](https://developer.roblox.com/en-us/api-reference/function/EulerRotationCurve/Z) methods. The 3 axes can be sampled simultaneously via the method [EulerRotationCurve:GetAnglesAtTime](https://developer.roblox.com/en-us/api-reference/function/EulerRotationCurve/GetAnglesAtTime) returning the 3 Euler angles as a Vector3. Similarly, [EulerRotationCurve:GetRotationAtTime](https://developer.roblox.com/en-us/api-reference/function/EulerRotationCurve/GetRotationAtTime) samples all channels simultaneously but returns a CFrame rotated by X, Y, and Z according to the specified rotation order. */
9628
9388
  interface EulerRotationCurve extends Instance {
9629
9389
  /**
@@ -10067,6 +9827,17 @@ interface FacialAnimationStreamingService extends Instance {
10067
9827
  readonly _nominal_FacialAnimationStreamingService: unique symbol;
10068
9828
  }
10069
9829
 
9830
+ interface FacialAnimationStreamingServiceStats extends Instance {
9831
+ /**
9832
+ * **DO NOT USE!**
9833
+ *
9834
+ * This field exists to force TypeScript to recognize this as a nominal type
9835
+ * @hidden
9836
+ * @deprecated
9837
+ */
9838
+ readonly _nominal_FacialAnimationStreamingServiceStats: unique symbol;
9839
+ }
9840
+
10070
9841
  interface FacialAnimationStreamingServiceV2 extends Instance {
10071
9842
  /**
10072
9843
  * **DO NOT USE!**
@@ -10664,7 +10435,7 @@ interface DataStore extends GlobalDataStore {
10664
10435
  * * [Data Stores](https://developer.roblox.com/en-us/articles/data-store), an in-depth guide on data structure, management, error handling, etc.
10665
10436
  * Tags: Yields
10666
10437
  */
10667
- ListKeysAsync(this: DataStore, prefix?: string, pageSize?: number, cursor?: string): DataStoreKeyPages;
10438
+ ListKeysAsync(this: DataStore, prefix?: string, pageSize?: number, cursor?: string, excludeDeleted?: boolean): DataStoreKeyPages;
10668
10439
  /**
10669
10440
  * This function enumerates versions of the specified key in either ascending or descending order specified by a [SortDirection](https://developer.roblox.com/en-us/api-reference/enum/SortDirection) parameter. It can optionally filter the returned versions by minimum and maximum timestamp.
10670
10441
  *
@@ -10961,7 +10732,7 @@ interface GuiBase2d extends GuiBase {
10961
10732
  AutoLocalize: boolean;
10962
10733
  /**
10963
10734
  * This property is automatically set to true when a LocalizationTable's Root targets this object, or an ancestor of this object. `LocalizationTable/LocalizationTable`s, with their [LocalizationTable.Root](https://developer.roblox.com/en-us/api-reference/property/LocalizationTable/Root) property pointed at an instance, will localize all `TextLabel/TextButton` that are descendants of the root instance.
10964
- * Tags: Hidden, NotReplicated, Deprecated
10735
+ * Tags: Hidden, NotReplicated, Deprecated, [object Object]
10965
10736
  * @deprecated
10966
10737
  */
10967
10738
  Localize: boolean;
@@ -11937,7 +11708,7 @@ interface TextButton extends GuiButton {
11937
11708
  FontFace: Font;
11938
11709
  /**
11939
11710
  * This property determines the font size to be used.
11940
- * Tags: NotReplicated, Deprecated
11711
+ * Tags: NotReplicated, Deprecated, [object Object]
11941
11712
  * @deprecated
11942
11713
  */
11943
11714
  FontSize: Enum.FontSize;
@@ -12062,7 +11833,7 @@ interface TextButton extends GuiButton {
12062
11833
  TextTruncate: Enum.TextTruncate;
12063
11834
  /**
12064
11835
  * This property determines whether or not text should wrap at the edges of the object.
12065
- * Tags: NotReplicated, Deprecated
11836
+ * Tags: NotReplicated, Deprecated, [object Object]
12066
11837
  * @deprecated
12067
11838
  */
12068
11839
  TextWrap: boolean;
@@ -12251,7 +12022,7 @@ interface TextLabel extends GuiLabel {
12251
12022
  FontFace: Font;
12252
12023
  /**
12253
12024
  * This property determines the height in offsets of one line of text.
12254
- * Tags: NotReplicated, Deprecated
12025
+ * Tags: NotReplicated, Deprecated, [object Object]
12255
12026
  * @deprecated
12256
12027
  */
12257
12028
  FontSize: Enum.FontSize;
@@ -12379,7 +12150,7 @@ interface TextLabel extends GuiLabel {
12379
12150
  TextTruncate: Enum.TextTruncate;
12380
12151
  /**
12381
12152
  * This property determines if text wraps to multiple lines within the [GUI](https://developer.roblox.com/en-us/api-reference/class/TextLabel) element space, truncating excess text.
12382
- * Tags: NotReplicated, Deprecated
12153
+ * Tags: NotReplicated, Deprecated, [object Object]
12383
12154
  * @deprecated
12384
12155
  */
12385
12156
  TextWrap: boolean;
@@ -12638,7 +12409,7 @@ interface TextBox extends GuiObject {
12638
12409
  FontFace: Font;
12639
12410
  /**
12640
12411
  * This property determines the font size of a [GUI](https://developer.roblox.com/en-us/api-reference/class/TextBox) object.
12641
- * Tags: NotReplicated, Deprecated
12412
+ * Tags: NotReplicated, Deprecated, [object Object]
12642
12413
  * @deprecated
12643
12414
  */
12644
12415
  FontSize: Enum.FontSize;
@@ -12782,7 +12553,7 @@ interface TextBox extends GuiObject {
12782
12553
  */
12783
12554
  TextTruncate: Enum.TextTruncate;
12784
12555
  /**
12785
- * Tags: NotReplicated, Deprecated
12556
+ * Tags: NotReplicated, Deprecated, [object Object]
12786
12557
  * @deprecated
12787
12558
  */
12788
12559
  TextWrap: boolean;
@@ -13520,6 +13291,22 @@ interface SurfaceGui extends SurfaceGuiBase {
13520
13291
  ZOffset: number;
13521
13292
  }
13522
13293
 
13294
+ interface TextureGuiExperimental extends LayerCollector {
13295
+ /**
13296
+ * **DO NOT USE!**
13297
+ *
13298
+ * This field exists to force TypeScript to recognize this as a nominal type
13299
+ * @hidden
13300
+ * @deprecated
13301
+ */
13302
+ readonly _nominal_TextureGuiExperimental: unique symbol;
13303
+ Size: Vector2;
13304
+ /**
13305
+ * Tags: ReadOnly, NotReplicated
13306
+ */
13307
+ readonly TemporaryId: string;
13308
+ }
13309
+
13523
13310
  /** An abstract class for 3D GUI elements that are rendered in the world. */
13524
13311
  interface GuiBase3d extends GuiBase {
13525
13312
  /**
@@ -13642,7 +13429,7 @@ interface SelectionBox extends InstanceAdornment {
13642
13429
  LineThickness: number;
13643
13430
  /**
13644
13431
  * A `BrickColor` version of [SurfaceColor3](https://developer.roblox.com/en-us/api-reference/property/SelectionBox/SurfaceColor3)…
13645
- * Tags: Hidden, NotReplicated, Deprecated
13432
+ * Tags: Hidden, NotReplicated, Deprecated, [object Object]
13646
13433
  * @deprecated
13647
13434
  */
13648
13435
  SurfaceColor: BrickColor;
@@ -13888,6 +13675,7 @@ interface WireframeHandleAdornment extends HandleAdornment {
13888
13675
  * @deprecated
13889
13676
  */
13890
13677
  readonly _nominal_WireframeHandleAdornment: unique symbol;
13678
+ Scale: Vector3;
13891
13679
  AddLine(this: WireframeHandleAdornment, from: Vector3, to: Vector3): void;
13892
13680
  AddLines(this: WireframeHandleAdornment, points: Array<any>): void;
13893
13681
  AddPath(this: WireframeHandleAdornment, points: Array<any>, loop: boolean): void;
@@ -13927,7 +13715,7 @@ interface SelectionSphere extends PVAdornment {
13927
13715
  readonly _nominal_SelectionSphere: unique symbol;
13928
13716
  /**
13929
13717
  * A `BrickColor` version of [SelectionSphere.SurfaceColor3](https://developer.roblox.com/en-us/api-reference/property/SelectionSphere/SurfaceColor3).
13930
- * Tags: Hidden, NotReplicated, Deprecated
13718
+ * Tags: Hidden, NotReplicated, Deprecated, [object Object]
13931
13719
  * @deprecated
13932
13720
  */
13933
13721
  SurfaceColor: BrickColor;
@@ -15314,7 +15102,7 @@ interface Humanoid extends Instance {
15314
15102
  * local animationTracks = {}
15315
15103
  * local track = humanoid:LoadAnimation(animation)
15316
15104
  * table.insert(animationTracks, track)
15317
- * Tags: Deprecated
15105
+ * Tags: Deprecated, [object Object]
15318
15106
  * @deprecated
15319
15107
  */
15320
15108
  GetPlayingAnimationTracks(this: Humanoid): Array<AnimationTrack>;
@@ -15379,7 +15167,7 @@ interface Humanoid extends Instance {
15379
15167
  * If the [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) belongs to a NPC (Non Player Character) which the server has [network ownership](http://robloxdev.com/articles/Network-Ownership) of then the [Animations](https://developer.roblox.com/en-us/api-reference/class/Animation) should be loaded and played from the server.
15380
15168
  *
15381
15169
  * Although generally it is not advisable to do so, these rules can be bypassed using the [Animator](https://developer.roblox.com/en-us/api-reference/class/Animator) object.
15382
- * Tags: Deprecated
15170
+ * Tags: Deprecated, [object Object]
15383
15171
  * @deprecated
15384
15172
  */
15385
15173
  LoadAnimation(this: Humanoid, animation: Animation): AnimationTrack;
@@ -15520,7 +15308,7 @@ interface Humanoid extends Instance {
15520
15308
  * --------
15521
15309
  *
15522
15310
  * * For the [AnimationController](https://developer.roblox.com/en-us/api-reference/class/AnimationController) equivalent of this event, please see [AnimationController.AnimationPlayed](https://developer.roblox.com/en-us/api-reference/event/AnimationController/AnimationPlayed)
15523
- * Tags: Deprecated
15311
+ * Tags: Deprecated, [object Object]
15524
15312
  * @deprecated
15525
15313
  */
15526
15314
  readonly AnimationPlayed: RBXScriptSignal<(animationTrack: AnimationTrack) => void>;
@@ -16475,6 +16263,26 @@ interface IXPService extends Instance {
16475
16263
  readonly _nominal_IXPService: unique symbol;
16476
16264
  }
16477
16265
 
16266
+ interface ImageDataExperimental extends Instance {
16267
+ /**
16268
+ * **DO NOT USE!**
16269
+ *
16270
+ * This field exists to force TypeScript to recognize this as a nominal type
16271
+ * @hidden
16272
+ * @deprecated
16273
+ */
16274
+ readonly _nominal_ImageDataExperimental: unique symbol;
16275
+ Size: Vector2;
16276
+ /**
16277
+ * Tags: ReadOnly, NotReplicated
16278
+ */
16279
+ readonly TemporaryId: string;
16280
+ /**
16281
+ * Tags: Yields
16282
+ */
16283
+ PopulateFromImageAsync(this: ImageDataExperimental, textureId: string): void;
16284
+ }
16285
+
16478
16286
  interface ImporterBaseSettings extends Instance {
16479
16287
  /**
16480
16288
  * **DO NOT USE!**
@@ -16627,11 +16435,13 @@ interface ImporterRootSettings extends ImporterBaseSettings {
16627
16435
  readonly _nominal_ImporterRootSettings: unique symbol;
16628
16436
  AddModelToInventory: boolean;
16629
16437
  Anchored: boolean;
16438
+ ExistingPackageId: string;
16630
16439
  /**
16631
16440
  * Tags: ReadOnly, NotReplicated
16632
16441
  */
16633
16442
  readonly FileDimensions: Vector3;
16634
16443
  ImportAsModelAsset: boolean;
16444
+ ImportAsPackage: boolean;
16635
16445
  InsertInWorkspace: boolean;
16636
16446
  InsertWithScenePosition: boolean;
16637
16447
  InvertNegativeFaces: boolean;
@@ -16640,8 +16450,10 @@ interface ImporterRootSettings extends ImporterBaseSettings {
16640
16450
  * Tags: ReadOnly, NotReplicated
16641
16451
  */
16642
16452
  readonly PolygonCount: number;
16453
+ RigScale: Enum.RigScale;
16643
16454
  RigType: Enum.RigType;
16644
16455
  ScaleUnit: Enum.MeshScaleUnit;
16456
+ UseSceneOriginAsCFrame: boolean;
16645
16457
  UseSceneOriginAsPivot: boolean;
16646
16458
  UsesCages: boolean;
16647
16459
  WorldForward: Enum.NormalId;
@@ -18324,7 +18136,7 @@ interface InsertService extends Instance {
18324
18136
  */
18325
18137
  Insert(this: InsertService, instance: Instance): void;
18326
18138
  /**
18327
- * Tags: Yields, Deprecated
18139
+ * Tags: Yields, Deprecated, [object Object]
18328
18140
  * @deprecated
18329
18141
  */
18330
18142
  GetBaseCategories(this: InsertService): unknown;
@@ -18402,7 +18214,7 @@ interface InsertService extends Instance {
18402
18214
  */
18403
18215
  GetLatestAssetVersionAsync(this: InsertService, assetId: number): number;
18404
18216
  /**
18405
- * Tags: Yields, Deprecated
18217
+ * Tags: Yields, Deprecated, [object Object]
18406
18218
  * @deprecated
18407
18219
  */
18408
18220
  GetUserCategories(this: InsertService, userId: number): unknown;
@@ -18497,6 +18309,32 @@ interface InsertService extends Instance {
18497
18309
  * Tags: Yields
18498
18310
  */
18499
18311
  LoadAssetVersion(this: InsertService, assetVersionId: number): Model;
18312
+ /**
18313
+ * Tags: Hidden
18314
+ */
18315
+ readonly InternalDelete: RBXScriptSignal<(instance: Instance) => void>;
18316
+ }
18317
+
18318
+ interface InternalSyncItem extends Instance {
18319
+ /**
18320
+ * **DO NOT USE!**
18321
+ *
18322
+ * This field exists to force TypeScript to recognize this as a nominal type
18323
+ * @hidden
18324
+ * @deprecated
18325
+ */
18326
+ readonly _nominal_InternalSyncItem: unique symbol;
18327
+ }
18328
+
18329
+ interface InternalSyncService extends Instance {
18330
+ /**
18331
+ * **DO NOT USE!**
18332
+ *
18333
+ * This field exists to force TypeScript to recognize this as a nominal type
18334
+ * @hidden
18335
+ * @deprecated
18336
+ */
18337
+ readonly _nominal_InternalSyncService: unique symbol;
18500
18338
  }
18501
18339
 
18502
18340
  /** JointInstance is the base class for joints, such as Connectors, Welds, and Snaps.
@@ -20847,13 +20685,13 @@ interface LocalizationTable extends Instance {
20847
20685
  readonly _nominal_LocalizationTable: unique symbol;
20848
20686
  /**
20849
20687
  * The default IETF tag to use if the ''languageKey'' parameter is excluded from the [LocalizationTable:GetString](https://developer.roblox.com/en-us/api-reference/function/LocalizationTable/GetString) method.
20850
- * Tags: Hidden, NotReplicated, Deprecated
20688
+ * Tags: Hidden, NotReplicated, Deprecated, [object Object]
20851
20689
  * @deprecated
20852
20690
  */
20853
20691
  DevelopmentLanguage: string;
20854
20692
  /**
20855
20693
  * The object that is being targeted for localization by this table. Localization is applied to it and all of it's descendants.
20856
- * Tags: Hidden, NotReplicated, Deprecated
20694
+ * Tags: Hidden, NotReplicated, Deprecated, [object Object]
20857
20695
  * @deprecated
20858
20696
  */
20859
20697
  Root: Instance | undefined;
@@ -20862,7 +20700,7 @@ interface LocalizationTable extends Instance {
20862
20700
  */
20863
20701
  SourceLocaleId: string;
20864
20702
  /**
20865
- * Tags: Deprecated
20703
+ * Tags: Deprecated, [object Object]
20866
20704
  * @deprecated
20867
20705
  */
20868
20706
  GetContents(this: LocalizationTable): string;
@@ -20912,7 +20750,7 @@ interface LocalizationTable extends Instance {
20912
20750
  GetEntries(this: LocalizationTable): Array<LocalizationEntry>;
20913
20751
  /**
20914
20752
  * The GetString function returns a translation based on the specified language and key.
20915
- * Tags: Deprecated
20753
+ * Tags: Deprecated, [object Object]
20916
20754
  * @deprecated
20917
20755
  */
20918
20756
  GetString(this: LocalizationTable, targetLocaleId: string, key: string): string;
@@ -20934,7 +20772,7 @@ interface LocalizationTable extends Instance {
20934
20772
  * Calling RemoveKey is the same as making the following call to RemoveEntry:
20935
20773
  *
20936
20774
  * LocalizationTable:RemoveEntry(key,"","")
20937
- * Tags: Deprecated
20775
+ * Tags: Deprecated, [object Object]
20938
20776
  * @deprecated
20939
20777
  */
20940
20778
  RemoveKey(this: LocalizationTable, key: string): void;
@@ -20944,7 +20782,7 @@ interface LocalizationTable extends Instance {
20944
20782
  RemoveTargetLocale(this: LocalizationTable, localeId: string): void;
20945
20783
  /**
20946
20784
  * The SetContents function sets the contents of the LocalizationTable, via the legacy JSON format.
20947
- * Tags: Deprecated
20785
+ * Tags: Deprecated, [object Object]
20948
20786
  * @deprecated
20949
20787
  */
20950
20788
  SetContents(this: LocalizationTable, contents: string): void;
@@ -20955,7 +20793,7 @@ interface LocalizationTable extends Instance {
20955
20793
  */
20956
20794
  SetEntries(this: LocalizationTable, entries: Array<LocalizationEntry>): void;
20957
20795
  /**
20958
- * Tags: Deprecated
20796
+ * Tags: Deprecated, [object Object]
20959
20797
  * @deprecated
20960
20798
  */
20961
20799
  SetEntry(this: LocalizationTable, key: string, targetLocaleId: string, text: string): void;
@@ -21062,6 +20900,18 @@ interface LuaSourceContainer extends Instance {
21062
20900
  * @deprecated
21063
20901
  */
21064
20902
  readonly _nominal_LuaSourceContainer: unique symbol;
20903
+ /**
20904
+ * Tags: Hidden
20905
+ */
20906
+ readonly LockGrantedOrNot: RBXScriptSignal<(granted: boolean) => void>;
20907
+ /**
20908
+ * Tags: Hidden
20909
+ */
20910
+ readonly LostLock: RBXScriptSignal<() => void>;
20911
+ /**
20912
+ * Tags: Hidden
20913
+ */
20914
+ readonly RequestLock: RBXScriptSignal<() => void>;
21065
20915
  }
21066
20916
 
21067
20917
  /** The base class for all script objects which run automatically. */
@@ -21105,6 +20955,7 @@ interface BaseScript extends LuaSourceContainer {
21105
20955
  * For the LinkedSource property for [ModuleScript](https://developer.roblox.com/en-us/api-reference/class/ModuleScript)s, please see [ModuleScript.LinkedSource](https://developer.roblox.com/en-us/api-reference/property/ModuleScript/LinkedSource).
21106
20956
  */
21107
20957
  LinkedSource: string;
20958
+ readonly RunContext: Enum.RunContext;
21108
20959
  }
21109
20960
 
21110
20961
  /** A Script is a type of Lua code container that will run its contents on the server. By default, Scripts have `print("Hello, world")` as their contents. The instant that the following conditions are met, a Script's Lua code is run in a new thread:
@@ -21617,6 +21468,28 @@ interface MarketplaceService extends Instance {
21617
21468
  ProcessReceipt: ((receiptInfo: ReceiptInfo) => Enum.ProductPurchaseDecision) | undefined;
21618
21469
  }
21619
21470
 
21471
+ interface MaterialGenerationService extends Instance {
21472
+ /**
21473
+ * **DO NOT USE!**
21474
+ *
21475
+ * This field exists to force TypeScript to recognize this as a nominal type
21476
+ * @hidden
21477
+ * @deprecated
21478
+ */
21479
+ readonly _nominal_MaterialGenerationService: unique symbol;
21480
+ }
21481
+
21482
+ interface MaterialGenerationSession extends Instance {
21483
+ /**
21484
+ * **DO NOT USE!**
21485
+ *
21486
+ * This field exists to force TypeScript to recognize this as a nominal type
21487
+ * @hidden
21488
+ * @deprecated
21489
+ */
21490
+ readonly _nominal_MaterialGenerationSession: unique symbol;
21491
+ }
21492
+
21620
21493
  interface MaterialService extends Instance {
21621
21494
  /**
21622
21495
  * **DO NOT USE!**
@@ -22287,7 +22160,7 @@ interface Mouse extends Instance {
22287
22160
  * * Not all keys generate this event. However, you can get around this with a few of the keys, “/” for example, by using the [Mouse.KeyUp](https://developer.roblox.com/en-us/api-reference/event/Mouse/KeyUp) event.
22288
22161
  * * Some keys generate the same string as other keys.
22289
22162
  * * It's possible for the string to be empty (possibly due to “\\0” key code).
22290
- * Tags: Deprecated
22163
+ * Tags: Deprecated, [object Object]
22291
22164
  * @deprecated
22292
22165
  */
22293
22166
  readonly KeyDown: RBXScriptSignal<(key: string) => void>;
@@ -22300,7 +22173,7 @@ interface Mouse extends Instance {
22300
22173
  * * Not all keys generate this event. However, you can get around this with a few of the keys, “/” for example, by using the \[\[API:Class/Mouse/KeyUp|KeyUp\]\] event.
22301
22174
  * * Some keys generate the same string as other keys.
22302
22175
  * * It's possible for the string to be empty (possibly due to “\\0” key code).
22303
- * Tags: Deprecated
22176
+ * Tags: Deprecated, [object Object]
22304
22177
  * @deprecated
22305
22178
  */
22306
22179
  readonly KeyUp: RBXScriptSignal<(key: string) => void>;
@@ -23008,7 +22881,7 @@ interface BasePart extends PVInstance {
23008
22881
  * The unit of this property is **radians per second**.
23009
22882
  *
23010
22883
  * Using this in conjunction with [AlignOrientation](https://developer.roblox.com/en-us/api-reference/class/AlignOrientation) allows for aligned parts to have matching RotVelocity and Orientation values.
23011
- * Tags: Hidden, Deprecated
22884
+ * Tags: Hidden, Deprecated, [object Object]
23012
22885
  * @deprecated
23013
22886
  */
23014
22887
  RotVelocity: Vector3;
@@ -23113,7 +22986,7 @@ interface BasePart extends PVInstance {
23113
22986
  * Cobblestone
23114
22987
  *
23115
22988
  * 2.7
23116
- * Tags: ReadOnly, NotReplicated, Deprecated
22989
+ * Tags: ReadOnly, NotReplicated, Deprecated, [object Object]
23117
22990
  * @deprecated
23118
22991
  */
23119
22992
  readonly SpecificGravity: number;
@@ -23171,7 +23044,7 @@ interface BasePart extends PVInstance {
23171
23044
  * Setting the Velocity of an part that is [BasePart.Anchored](https://developer.roblox.com/en-us/api-reference/property/BasePart/Anchored) will cause it to act like a conveyor belt. Any object that touches the part will begin to move in accordance with the Velocity.
23172
23045
  *
23173
23046
  * Some `/BodyMover` objects will apply forces and thus change the Velocity of a part over time. The simplest of these is a `/BodyForce` which can be used to counteract the acceleration due to gravity on a single part (set the +Y axis of the [BodyForce.Force](https://developer.roblox.com/en-us/api-reference/property/BodyForce/Force) to the product of the mass ([BasePart:GetMass](https://developer.roblox.com/en-us/api-reference/function/BasePart/GetMass)) and the gravity constant).
23174
- * Tags: Hidden, Deprecated
23047
+ * Tags: Hidden, Deprecated, [object Object]
23175
23048
  * @deprecated
23176
23049
  */
23177
23050
  Velocity: Vector3;
@@ -23205,6 +23078,8 @@ interface BasePart extends PVInstance {
23205
23078
  ApplyImpulseAtPosition(this: BasePart, impulse: Vector3, position: Vector3): void;
23206
23079
  /**
23207
23080
  * Breaks any surface connection with any adjacent part, including [Weld](https://developer.roblox.com/en-us/api-reference/class/Weld) and other [JointInstance](https://developer.roblox.com/en-us/api-reference/class/JointInstance).
23081
+ * Tags: Deprecated
23082
+ * @deprecated
23208
23083
  */
23209
23084
  BreakJoints(this: BasePart): void;
23210
23085
  /**
@@ -23313,6 +23188,8 @@ interface BasePart extends PVInstance {
23313
23188
  * part:MakeJoints({part1, part2, part3})
23314
23189
  *
23315
23190
  * Joints are broken if enough force is applied to them due to an [Explosion](https://developer.roblox.com/en-us/api-reference/class/Explosion), unless a [ForceField](https://developer.roblox.com/en-us/api-reference/class/ForceField) object is parented to the [BasePart](https://developer.roblox.com/en-us/api-reference/class/BasePart) or ancestor [Model](https://developer.roblox.com/en-us/api-reference/class/Model). For this reason, they are often used to make simple destructible buildings and other models.
23191
+ * Tags: Deprecated
23192
+ * @deprecated
23316
23193
  */
23317
23194
  MakeJoints(this: BasePart): void;
23318
23195
  /**
@@ -23336,6 +23213,10 @@ interface BasePart extends PVInstance {
23336
23213
  * Lets the game engine dynamically decide who will handle the part's physics (one of the clients or the server).
23337
23214
  */
23338
23215
  SetNetworkOwnershipAuto(this: BasePart): void;
23216
+ /**
23217
+ * Tags: Yields
23218
+ */
23219
+ IntersectAsync(this: BasePart, parts: Array<Instance>, collisionfidelity?: CastsToEnum<Enum.CollisionFidelity>, renderFidelity?: CastsToEnum<Enum.RenderFidelity>): Instance | undefined;
23339
23220
  /**
23340
23221
  * **SubtractAsync** creates new [UnionOperation](https://developer.roblox.com/en-us/api-reference/class/UnionOperation) which occupies the same space as the part minus the space(s) occupied by the parts in the given array. It does this by invoking the real-time CSG solver. Similar to [Clone](https://developer.roblox.com/en-us/api-reference/function/Instance/Clone), the returned object has no [Parent](https://developer.roblox.com/en-us/api-reference/property/Instance/Parent) set.
23341
23222
  *
@@ -23446,7 +23327,7 @@ interface BasePart extends PVInstance {
23446
23327
  readonly OutfitChanged: RBXScriptSignal<() => void>;
23447
23328
  /**
23448
23329
  * .
23449
- * Tags: Deprecated
23330
+ * Tags: Deprecated, [object Object]
23450
23331
  * @deprecated
23451
23332
  */
23452
23333
  readonly StoppedTouching: RBXScriptSignal<(otherPart: BasePart) => void>;
@@ -23572,6 +23453,14 @@ interface Platform extends Part {
23572
23453
  * @deprecated
23573
23454
  */
23574
23455
  readonly _nominal_Platform: unique symbol;
23456
+ /**
23457
+ * Tags: Hidden
23458
+ */
23459
+ readonly RemoteCreateMotor6D: RBXScriptSignal<(humanoid: Humanoid) => void>;
23460
+ /**
23461
+ * Tags: Hidden
23462
+ */
23463
+ readonly RemoteDestroyMotor6D: RBXScriptSignal<() => void>;
23575
23464
  }
23576
23465
 
23577
23466
  /** A type of [BasePart](https://developer.roblox.com/en-us/api-reference/class/BasePart) that a player character can 'sit' in. When a character touches an enabled Seat object, it will be attached to the part by a [Weld](https://developer.roblox.com/en-us/api-reference/class/Weld) and the default character scripts will play a sitting animation.
@@ -23624,6 +23513,14 @@ interface Seat extends Part {
23624
23513
  * Forces the character with the specified [Humanoid](https://developer.roblox.com/api-reference/class/Humanoid "Humanoid") to sit in the Seat.
23625
23514
  */
23626
23515
  Sit(this: Seat, humanoid: Humanoid): void;
23516
+ /**
23517
+ * Tags: Hidden
23518
+ */
23519
+ readonly RemoteCreateSeatWeld: RBXScriptSignal<(humanoid: Humanoid) => void>;
23520
+ /**
23521
+ * Tags: Hidden
23522
+ */
23523
+ readonly RemoteDestroySeatWeld: RBXScriptSignal<() => void>;
23627
23524
  }
23628
23525
 
23629
23526
  /** A SkateboardPlatform can be used to create a skateboard. When characters get on a skateboard, they are stuck to it until they press the escape key. Until then, the character uses skateboard animations and travels faster than a walking character. */
@@ -23670,6 +23567,14 @@ interface SkateboardPlatform extends Part {
23670
23567
  * Fired when the SkateboardPlatform's [SkateboardPlatform.ControllingHumanoid](https://developer.roblox.com/en-us/api-reference/property/SkateboardPlatform/ControllingHumanoid) changes the force being used on the SkateboardPlatform.
23671
23568
  */
23672
23569
  readonly MoveStateChanged: RBXScriptSignal<(newState: Enum.MoveState, oldState: Enum.MoveState) => void>;
23570
+ /**
23571
+ * Tags: Hidden
23572
+ */
23573
+ readonly RemoteCreateMotor6D: RBXScriptSignal<(humanoid: Humanoid) => void>;
23574
+ /**
23575
+ * Tags: Hidden
23576
+ */
23577
+ readonly RemoteDestroyMotor6D: RBXScriptSignal<() => void>;
23673
23578
  /**
23674
23579
  * Fired whenever the skateboard is unequipped.
23675
23580
  */
@@ -24139,6 +24044,17 @@ interface PartOperation extends TriangleMeshPart {
24139
24044
  UsePartColor: boolean;
24140
24045
  }
24141
24046
 
24047
+ interface IntersectOperation extends PartOperation {
24048
+ /**
24049
+ * **DO NOT USE!**
24050
+ *
24051
+ * This field exists to force TypeScript to recognize this as a nominal type
24052
+ * @hidden
24053
+ * @deprecated
24054
+ */
24055
+ readonly _nominal_IntersectOperation: unique symbol;
24056
+ }
24057
+
24142
24058
  /** The NegateOperation creates a CSG part that can be removed from other part via solid modeling. To use it, select a part and click the **Negate** button in the **Model** tab.
24143
24059
  *
24144
24060
  * ![](https://developer.roblox.com/assets/blt7dc16d2d629426a6/CSG-Negate-Button.png)
@@ -24278,6 +24194,14 @@ interface VehicleSeat extends BasePart {
24278
24194
  * Forces the character with the specified [Humanoid](https://developer.roblox.com/api-reference/class/Humanoid "Humanoid") to sit in the VehicleSeat.
24279
24195
  */
24280
24196
  Sit(this: VehicleSeat, humanoid: Humanoid): void;
24197
+ /**
24198
+ * Tags: Hidden
24199
+ */
24200
+ readonly RemoteCreateSeatWeld: RBXScriptSignal<(humanoid: Humanoid) => void>;
24201
+ /**
24202
+ * Tags: Hidden
24203
+ */
24204
+ readonly RemoteDestroySeatWeld: RBXScriptSignal<() => void>;
24281
24205
  }
24282
24206
 
24283
24207
  /** Models are container objects, meaning they group objects together. They are best used to hold collections of [BaseParts](https://developer.roblox.com/en-us/api-reference/class/BasePart) and have a number of functions that extend their functionality.
@@ -24339,6 +24263,8 @@ interface Model extends PVInstance {
24339
24263
  * When BreakJoints is used on a Player character [Model](https://developer.roblox.com/en-us/api-reference/class/Model), the character's [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) will die as it relies on the Neck joint.
24340
24264
  *
24341
24265
  * Note that although joints produced by surface connections with adjacent Parts can technically be recreated using [Model:MakeJoints](https://developer.roblox.com/en-us/api-reference/function/Model/MakeJoints), this will only recreate joints produced by surfaces. Developers should not rely on this as following the joints being broken parts may no longer be in contact with each other.
24266
+ * Tags: Deprecated
24267
+ * @deprecated
24342
24268
  */
24343
24269
  BreakJoints(this: Model): void;
24344
24270
  /**
@@ -24373,13 +24299,13 @@ interface Model extends PVInstance {
24373
24299
  GetExtentsSize(this: Model): Vector3;
24374
24300
  /**
24375
24301
  * This value historically returned the CFrame of a central position in the model. It has been deprecated as it did not provide reliable results.
24376
- * Tags: Deprecated
24302
+ * Tags: Deprecated, [object Object]
24377
24303
  * @deprecated
24378
24304
  */
24379
24305
  GetModelCFrame(this: Model): CFrame;
24380
24306
  /**
24381
24307
  * The GetModelSize function returns the `Vector3` size of the [Model](https://developer.roblox.com/en-us/api-reference/class/Model).
24382
- * Tags: Deprecated
24308
+ * Tags: Deprecated, [object Object]
24383
24309
  * @deprecated
24384
24310
  */
24385
24311
  GetModelSize(this: Model): Vector3;
@@ -24399,7 +24325,7 @@ interface Model extends PVInstance {
24399
24325
  * ```lua
24400
24326
  * local cFrame = Model.PrimaryPart and Model.PrimaryPart.CFrame
24401
24327
  * ```
24402
- * Tags: Deprecated
24328
+ * Tags: Deprecated, [object Object]
24403
24329
  * @deprecated
24404
24330
  */
24405
24331
  GetPrimaryPartCFrame(this: Model): CFrame;
@@ -24418,6 +24344,8 @@ interface Model extends PVInstance {
24418
24344
  * * Hinge and Motor surfaces create [Rotate](https://developer.roblox.com/en-us/api-reference/class/Rotate) and [RotateV](https://developer.roblox.com/en-us/api-reference/class/RotateV) joint instances
24419
24345
  *
24420
24346
  * This function will not work if the Part is not a descendant of [Workspace](https://developer.roblox.com/en-us/api-reference/class/Workspace). Therefore developers must first ensure the Model is parented to Workspace before using MakeJoints.
24347
+ * Tags: Deprecated
24348
+ * @deprecated
24421
24349
  */
24422
24350
  MakeJoints(this: Model): void;
24423
24351
  /**
@@ -24431,14 +24359,14 @@ interface Model extends PVInstance {
24431
24359
  RemovePersistentPlayer(this: Model, playerInstance?: Player): void;
24432
24360
  /**
24433
24361
  * Resets the rotation of the model's parts to the previously set identity rotation, which is done through the [Model:SetIdentityOrientation](https://developer.roblox.com/en-us/api-reference/function/Model/SetIdentityOrientation) method.
24434
- * Tags: Deprecated
24362
+ * Tags: Deprecated, [object Object]
24435
24363
  * @deprecated
24436
24364
  */
24437
24365
  ResetOrientationToIdentity(this: Model): void;
24438
24366
  ScaleTo(this: Model, newScaleFactor: number): void;
24439
24367
  /**
24440
24368
  * Sets the identity rotation of the given model, allowing you to reset the rotation of the entire model later, through the use of the `ResetOrientationToIdentity` method.
24441
- * Tags: Deprecated
24369
+ * Tags: Deprecated, [object Object]
24442
24370
  * @deprecated
24443
24371
  */
24444
24372
  SetIdentityOrientation(this: Model): void;
@@ -24456,7 +24384,7 @@ interface Model extends PVInstance {
24456
24384
  * ```
24457
24385
  *
24458
24386
  * A common use for this is for the 'teleportation' of player characters to different positions.
24459
- * Tags: Deprecated
24387
+ * Tags: Deprecated, [object Object]
24460
24388
  * @deprecated
24461
24389
  */
24462
24390
  SetPrimaryPartCFrame(this: Model, cframe: CFrame): void;
@@ -24480,6 +24408,243 @@ interface Actor extends Model {
24480
24408
  readonly _nominal_Actor: unique symbol;
24481
24409
  }
24482
24410
 
24411
+ /** BackpackItem is an abstract class for backpack items such as HopperBins and Tools. */
24412
+ interface BackpackItem extends Model {
24413
+ /**
24414
+ * **DO NOT USE!**
24415
+ *
24416
+ * This field exists to force TypeScript to recognize this as a nominal type
24417
+ * @hidden
24418
+ * @deprecated
24419
+ */
24420
+ readonly _nominal_BackpackItem: unique symbol;
24421
+ /**
24422
+ * The texture icon that is displayed for a tool in the [Player](https://developer.roblox.com/en-us/api-reference/class/Player)'s backpack.
24423
+ *
24424
+ * This property should be set to the content ID of an image uploaded to the Roblox website.
24425
+ *
24426
+ * If this property is left blank, the [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack) GUI will display the name of the tool instead.
24427
+ */
24428
+ TextureId: string;
24429
+ }
24430
+
24431
+ /** Tools are objects that a [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) object can equip. For players, they are stored in a [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack) object parented to a [Player](https://developer.roblox.com/en-us/api-reference/class/Player) object. In-game, players may have multiple tools which appear as icons at the bottom of the screen. Equipping a tool moves it from the Backpack and into a player's [character](https://developer.roblox.com/en-us/api-reference/class/Character) model in the [Workspace](https://developer.roblox.com/en-us/api-reference/class/Workspace). By default, tools are held in the right hand and have a handle in them, which is a [Part](https://developer.roblox.com/en-us/api-reference/class/BasePart) named “Handle” inside (though one is not required if [Tool.RequiresHandle](https://developer.roblox.com/en-us/api-reference/property/Tool/RequiresHandle) is off). Tools that are to be provided to (re)spawning players ought to be stored in the [StarterPack](https://developer.roblox.com/en-us/api-reference/class/StarterPack).
24432
+ *
24433
+ * On desktop, pressing a number key (1, 2, 3…) will equip a tool. Equipped tools can be dropped into the Workspace by pressing Backspace. It's recommended that you turn [Tool.CanBeDropped](https://developer.roblox.com/en-us/api-reference/property/Tool/CanBeDropped) off so it is not possible to drop a tool, die, respawn and drop again to duplicate tools. On gamepads, LB and RB buttons will equip tools. You can disable activation via left click (or right trigger on gamepad) by setting [Tool.ManualActivationOnly](https://developer.roblox.com/en-us/api-reference/property/Tool/ManualActivationOnly) on. Doing so requires that you call Activate yourself through some sort of other user input.
24434
+ *
24435
+ * Tools are not the only way to capture user input. You can also use [ContextActionService](https://developer.roblox.com/en-us/api-reference/class/ContextActionService), [UserInputService](https://developer.roblox.com/en-us/api-reference/class/UserInputService) or [Player:GetMouse](https://developer.roblox.com/en-us/api-reference/function/Player/GetMouse). If you need a Tool to have multiple actions, such as pressing a key while the Tool is equipped, you should use ContextActionService's [BindAction](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/BindAction) and [UnbindAction](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/UnbindAction) in the [Equipped](https://developer.roblox.com/en-us/api-reference/event/Tool/Equipped) and [Unequipped](https://developer.roblox.com/en-us/api-reference/event/Tool/Unequipped) events, respectively. Use a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) send these actions to the server via a [RemoteFunction](https://developer.roblox.com/en-us/api-reference/class/RemoteFunction) inside the Tool.
24436
+ */
24437
+ interface Tool extends BackpackItem {
24438
+ /**
24439
+ * **DO NOT USE!**
24440
+ *
24441
+ * This field exists to force TypeScript to recognize this as a nominal type
24442
+ * @hidden
24443
+ * @deprecated
24444
+ */
24445
+ readonly _nominal_Tool: unique symbol;
24446
+ /**
24447
+ * The CanBeDropped property controls whether the player can drop the [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool).
24448
+ *
24449
+ * If true, when the backspace button is pressed the tool will be parented to the [Workspace](https://developer.roblox.com/en-us/api-reference/class/Workspace) and removed from the player's [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack). If false, the when the backspace button is pressed the tool will go back to the player's Backpack and it will not be dropped.
24450
+ */
24451
+ CanBeDropped: boolean;
24452
+ /**
24453
+ * The Enabled property relates to whether or not the [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) can be used. This is useful if you want to prevent a player from using a tool, but do not want to remove it from their [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack).
24454
+ *
24455
+ * When set to true, the tool can use the tool.
24456
+ *
24457
+ * When set to false, the tool is disabled and the player cannot use the tool. It prevents the tool from being activated or deactivated by `the Tool/Activate` and [Tool:Deactivate](https://developer.roblox.com/en-us/api-reference/function/Tool/Deactivate) functions. It also prevents the [Tool.Activated](https://developer.roblox.com/en-us/api-reference/event/Tool/Activated) and [Tool.Deactivated](https://developer.roblox.com/en-us/api-reference/event/Tool/Deactivated) events from firing for the tool.
24458
+ */
24459
+ Enabled: boolean;
24460
+ /**
24461
+ * The Grip property stores the [Tool's](https://developer.roblox.com/en-us/api-reference/class/Tool) Grip properties as a single [CFrame](https://developer.roblox.com/en-us/api-reference/datatype/CFrame). This includes the `Grip/Up|Up`, `Grip/Right|Right`, `Grip/Forward|Forward`, and `Grip/Pos|Pos` properties.
24462
+ *
24463
+ * The grip properties are used to position how the player holds the tool.
24464
+ *
24465
+ * Unlike the grip properties that it stores, this property is not visible in a tool's `Properties` window in Studio. Regardless, it can be set and retrieved using a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) or [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript).
24466
+ *
24467
+ * ![Grip properties in Studio's Properties Window](https://developer.roblox.com/assets/blt87cc763d68414be8/Screen_Shot_2018-08-26_at_8.35.48_PM.png)
24468
+ *
24469
+ * In order to change a tool's grip properties, you must either use a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) or [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) or a Studio plugin such as [this](https://developer.roblox.com/assets/blt87cc763d68414be8/Screen_Shot_2018-08-26_at_8.35.48_PM.png) one.
24470
+ */
24471
+ Grip: CFrame;
24472
+ /**
24473
+ * The GripForward properties is one of the properties that specifies a Tool's orientation in a character's hand. This represents the R02, R12, and R22 values of the Grip [CFrame's](https://developer.roblox.com/en-us/api-reference/datatype/CFrame) rotation matrix.
24474
+ *
24475
+ * Other tool properties that control how a player holds a tool include: `Grip/GripUp|Up`, `Grip/GripRight|Right`, and `Grip/GripPos|Pos` properties. All of these properties are stored in a single CFrame in the [Tool.Grip](https://developer.roblox.com/en-us/api-reference/property/Tool/Grip) property.
24476
+ *
24477
+ * In order to change a tool's grip properties, you must either use a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) or [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) or a Studio plugin such as [this](https://www.roblox.com/library/174577307/Tool-Grip-Editor-Plugin) one.
24478
+ * Tags: Hidden, NotReplicated
24479
+ */
24480
+ GripForward: Vector3;
24481
+ /**
24482
+ * The GripPos property controls the positional offset of a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) weld matrix. It is one of several properties used to position how the player holds the tool.
24483
+ *
24484
+ * Other tool properties that control how a player holds a tool include: `Grip/GripUp|Up`, `Grip/GripRight|Right`, and `Grip/GripForward|Forward` properties. All of these properties are stored in a single CFrame in the [Tool.Grip](https://developer.roblox.com/en-us/api-reference/property/Tool/Grip) property.
24485
+ *
24486
+ * In order to change a tool's grip properties, you must either use a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) or [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) or a plugin such as [this](https://www.roblox.com/library/174577307/Tool-Grip-Editor-Plugin) one.
24487
+ * Tags: Hidden, NotReplicated
24488
+ */
24489
+ GripPos: Vector3;
24490
+ /**
24491
+ * The GripRight property is one of the properties that specifies a [Tool's](https://developer.roblox.com/en-us/api-reference/class/Tool) orientation in a character's hand. This represents the R00, R10, and R20 values of the Grip [CFrame's](https://developer.roblox.com/en-us/api-reference/datatype/CFrame) rotation matrix.
24492
+ *
24493
+ * Other tool properties that control how a player holds a tool include: `Grip/GripUp|Up`, `Grip/GripForward|Forward`, and `Grip/GripPos|Pos` properties. All of these properties are stored in a single CFrame in the [Tool.Grip](https://developer.roblox.com/en-us/api-reference/property/Tool/Grip) property.
24494
+ *
24495
+ * In order to change a tool's grip properties, you must either use a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) or [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) or a plugin such as [this](https://www.roblox.com/library/174577307/Tool-Grip-Editor-Plugin) one.
24496
+ * Tags: Hidden, NotReplicated
24497
+ */
24498
+ GripRight: Vector3;
24499
+ /**
24500
+ * The GripUp property is one of the properties that specifies a Tool's orientation in a character's hand. This represents the R01, R11, and R21 values of the Grip [CFrame's](https://developer.roblox.com/en-us/api-reference/datatype/CFrame) rotation matrix.
24501
+ *
24502
+ * Other tool properties that control how a player holds a tool include: `Grip/GripRight|Right`, `Grip/GripForward|Forward`, and `Grip/GripPos|Pos` properties. All of these properties are stored in a single CFrame in the [Tool.Grip](https://developer.roblox.com/en-us/api-reference/property/Tool/Grip) property.
24503
+ *
24504
+ * In order to change a tool's grip properties, you must either use a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) or [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) or a plugin such as [this](https://www.roblox.com/library/174577307/Tool-Grip-Editor-Plugin) one.
24505
+ * Tags: Hidden, NotReplicated
24506
+ */
24507
+ GripUp: Vector3;
24508
+ /**
24509
+ * The ManualActivationOnly property controls whether the [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) can be activated without explicitly executing [Tool:Activate](https://developer.roblox.com/en-us/api-reference/function/Tool/Activate) in a script.
24510
+ *
24511
+ * When set to true, the tool will only fire [Tool.Activated](https://developer.roblox.com/en-us/api-reference/event/Tool/Activated) when [Tool:Activate](https://developer.roblox.com/en-us/api-reference/function/Tool/Activate) is called. This also suppresses the [ContextActionService](https://developer.roblox.com/en-us/api-reference/class/ContextActionService)'s [ContextActionService:BindActivate](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/BindActivate) function.
24512
+ *
24513
+ * When set to false, mouse clicks (when the tool is equipped) will also fire [Tool.Activated](https://developer.roblox.com/en-us/api-reference/event/Tool/Activated).
24514
+ */
24515
+ ManualActivationOnly: boolean;
24516
+ /**
24517
+ * The RequiresTool property determines whether a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) functions without a handle.
24518
+ *
24519
+ * A tool has a handle when it has a child part named “Handle”. Tools without handles are typically ones that do not require the player equipping them to hold anything to use them. For instance, handles may not be necessary for _fly_ or _build_ tools. Tools with handles are typically ones that require the player equipping them to hold an object to use them. For instance, handle are likely necessary for weapons such as guns and swords.
24520
+ *
24521
+ * When set to true, the tool will function and be [activated](https://developer.roblox.com/en-us/api-reference/event/Tool/Activated) and [deactivated](https://developer.roblox.com/en-us/api-reference/event/Tool/Deactivated) without a handle.
24522
+ *
24523
+ * When set to false, the tool will not function without a handle.
24524
+ */
24525
+ RequiresHandle: boolean;
24526
+ /**
24527
+ * The ToolTip property controls the message that will be displayed when the player's [Mouse](https://developer.roblox.com/en-us/api-reference/class/Mouse) hovers over the [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) in their [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack).
24528
+ *
24529
+ * Generally, the value of this property should describe the what the tool is or its use. For instance, for a shovel tool, you may choose to set the ToolTip to:
24530
+ *
24531
+ * tool.ToolTip = "Shovel"
24532
+ *
24533
+ * or
24534
+ *
24535
+ * tool.ToolTip = "Use to dig"
24536
+ *
24537
+ * or
24538
+ *
24539
+ * tool.ToolTip = "Shovel - Use to dig"
24540
+ */
24541
+ ToolTip: string;
24542
+ /**
24543
+ * The Activate function simulates a click on a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool). The Tool must be equipped for this function to work.
24544
+ *
24545
+ * Tools will normally trigger the [Tool.Activated](https://developer.roblox.com/en-us/api-reference/event/Tool/Activated) event when the player releases the left mouse button, while the tool is equipped.
24546
+ *
24547
+ * The below code, when placed in a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript), would create a tool in the [LocalPlayer's](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack). It will simulate the tool being activated and print “Tool activated” when the player equips the tool.
24548
+ *
24549
+ * local tool = Instance.new("Tool")
24550
+ * tool.RequiresHandle = false
24551
+ * tool.Parent = game.Players.LocalPlayer.Backpack
24552
+ *
24553
+ * tool.Equipped:Connect(function()
24554
+ * tool:Activate()
24555
+ * end)
24556
+ *
24557
+ * function toolActivated()
24558
+ * print("Tool activated")
24559
+ * end
24560
+ *
24561
+ * tool.Activated:Connect(toolActivated)
24562
+ */
24563
+ Activate(this: Tool): void;
24564
+ /**
24565
+ * The Deactivate function simulates the deactivation of a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool). The Tool must be equipped for this function to work.
24566
+ *
24567
+ * Tools will normally trigger the [Tool.Deactivated](https://developer.roblox.com/en-us/api-reference/event/Tool/Deactivated) event when the player releases the left mouse button, while the tool is equipped.
24568
+ *
24569
+ * The below code, when placed in a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript), would create a tool in the [LocalPlayer's](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack). It will simulate the tool being deactivated and print “Tool deactivated” when the player equips the tool.
24570
+ *
24571
+ * local tool = Instance.new("Tool")
24572
+ * tool.RequiresHandle = false
24573
+ * tool.Parent = game.Players.LocalPlayer.Backpack
24574
+ *
24575
+ * tool.Equipped:Connect(function()
24576
+ * tool:Deactivate()
24577
+ * end)
24578
+ *
24579
+ * function toolDeactivated()
24580
+ * print("Tool deactivated")
24581
+ * end
24582
+ *
24583
+ * tool.Deactivated:Connect(toolDeactivated)
24584
+ */
24585
+ Deactivate(this: Tool): void;
24586
+ /**
24587
+ * **Activated** is not called if the Ctrl key is pressed during a click.
24588
+ *
24589
+ * The Activated event fires when the player clicks while a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) is equipped.
24590
+ *
24591
+ * This function is used to perform an action when the player uses the tool. For instance, when the player clicks while a _Rocket Launcher_ tool is equipped, the activated event executes the code to create and launch a rocket.
24592
+ *
24593
+ * The below code, when placed in a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript), would create a tool in the [LocalPlayer's](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack). It will print “Tool activated” when the player clicks while the created tool is equipped.
24594
+ *
24595
+ * local tool = Instance.new("Tool")
24596
+ * tool.RequiresHandle = false
24597
+ * tool.Parent = game.Players.LocalPlayer.Backpack
24598
+ *
24599
+ * function onActivation()
24600
+ * print("Tool activated")
24601
+ * end
24602
+ *
24603
+ * tool.Activated:Connect(onActivation)
24604
+ */
24605
+ readonly Activated: RBXScriptSignal<() => void>;
24606
+ /**
24607
+ * The Deactivated event fires when the left mouse button is released while a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) is equipped.
24608
+ *
24609
+ * This function is used to perform an action when the player stops using a tool. For instance, a tool may make a player fly until they release their left mouse button.
24610
+ *
24611
+ * The below code, when placed in a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript), would create a tool in the [LocalPlayer's](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack). It will print “Tool deactivated” when the player releases the left mouse button, while the tool is equipped.
24612
+ *
24613
+ * local tool = Instance.new("Tool")
24614
+ * tool.RequiresHandle = false
24615
+ * tool.Parent = game.Players.LocalPlayer.Backpack
24616
+ *
24617
+ * function toolDeactivated()
24618
+ * print("Tool deactivated")
24619
+ * end
24620
+ *
24621
+ * tool.Deactivated:Connect(toolDeactivated)
24622
+ */
24623
+ readonly Deactivated: RBXScriptSignal<() => void>;
24624
+ /**
24625
+ * The Equipped event fires when a player when a player takes a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) out of their [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack) to use. This event can be used to determine when a player stops using and puts a tool away.
24626
+ *
24627
+ * This event does not fire when [Tool.RequiresHandle](https://developer.roblox.com/en-us/api-reference/property/Tool/RequiresHandle) is enabled and no handle is present.
24628
+ *
24629
+ * The opposite of this event, [Tool.Unequipped](https://developer.roblox.com/en-us/api-reference/event/Tool/Unequipped), can be used alongside this event to determine unequips a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) by putting in back in their backpack.
24630
+ */
24631
+ readonly Equipped: RBXScriptSignal<(mouse: Mouse) => void>;
24632
+ /**
24633
+ * The Unequipped event fires when a player unequips a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) by putting in back in their [Backpack](https://developer.roblox.com/en-us/api-reference/class/Backpack). This event can be used to determine when a player stops using and puts a tool away.
24634
+ *
24635
+ * This event does not fire when [Tool.RequiresHandle](https://developer.roblox.com/en-us/api-reference/property/Tool/RequiresHandle) is enabled and no handle is present.
24636
+ *
24637
+ * The opposite of this event, [Tool.Equipped](https://developer.roblox.com/en-us/api-reference/event/Tool/Equipped), can be used alongside this event to determine when a player takes a tool out of their backpack to use.
24638
+ *
24639
+ * The example shown below will print “A tool was unequipped” each time the tool is unequipped by the player. Please note that the below example assumes that you've already defined what “Tool” is.
24640
+ *
24641
+ * Tool.Unequipped:Connect(function()
24642
+ * print("The tool was unequipped")
24643
+ * end)
24644
+ */
24645
+ readonly Unequipped: RBXScriptSignal<() => void>;
24646
+ }
24647
+
24483
24648
  interface WorldRoot extends Model {
24484
24649
  /**
24485
24650
  * **DO NOT USE!**
@@ -24537,7 +24702,7 @@ interface WorldRoot extends Model {
24537
24702
  * * Parts that are in a [collision group](https://developer.roblox.com/en-us/articles/collision-filtering) that does not collide with the “Default” collision group are ignored implicitly.
24538
24703
  *
24539
24704
  * For a demonstration of how raycasting works in Roblox, see the [Intro to Raycasting](https://developer.roblox.com/articles/Raycasting) article.
24540
- * Tags: Deprecated
24705
+ * Tags: Deprecated, [object Object]
24541
24706
  * @deprecated
24542
24707
  */
24543
24708
  FindPartOnRay(
@@ -24559,7 +24724,7 @@ interface WorldRoot extends Model {
24559
24724
  * * The length (magnitude) of the directional vector is important, as parts further away than its length will not be tested.
24560
24725
  * * If the ray does not intersect anything, the return values will be `nil` and the point at the end of the ray, respectively.
24561
24726
  * * Parts that are in a [collision group](https://developer.roblox.com/en-us/articles/collision-filtering) that does not collide with the “Default” collision group are ignored implicitly.
24562
- * Tags: Deprecated
24727
+ * Tags: Deprecated, [object Object]
24563
24728
  * @deprecated
24564
24729
  */
24565
24730
  FindPartOnRayWithIgnoreList(
@@ -24588,7 +24753,7 @@ interface WorldRoot extends Model {
24588
24753
  * * The length (magnitude) of the directional vector is important, as parts further away than its length will not be tested.
24589
24754
  * * If the ray does not intersect anything, the return values will be `nil` and the point at the end of the ray, respectively.
24590
24755
  * * Parts that are in a [collision group](https://developer.roblox.com/en-us/articles/collision-filtering) that does not collide with the “Default” collision group are ignored implicitly.
24591
- * Tags: Deprecated
24756
+ * Tags: Deprecated, [object Object]
24592
24757
  * @deprecated
24593
24758
  */
24594
24759
  FindPartOnRayWithWhitelist(
@@ -24621,7 +24786,7 @@ interface WorldRoot extends Model {
24621
24786
  * This means that the area that is inspected by the function may be larger than the [Region3](https://developer.roblox.com/en-us/api-reference/datatype/Region3). For this reason it is recommended to make sure that the [Region3](https://developer.roblox.com/en-us/api-reference/datatype/Region3) is on the voxel grid. The best way to do this is by setting the coordinates of the [Region3](https://developer.roblox.com/en-us/api-reference/datatype/Region3) to multiples of 4 (since voxels are 4 x 4 x 4 studs).
24622
24787
  *
24623
24788
  * This method is a fairly quick and easy way to see if parts are in a general area. If a game needs to know if parts are exactly in an area, then [BasePart:GetTouchingParts](https://developer.roblox.com/en-us/api-reference/function/BasePart/GetTouchingParts) should be used. There is a higher cost to using [BasePart:GetTouchingParts](https://developer.roblox.com/en-us/api-reference/function/BasePart/GetTouchingParts) since a part is needed in the [Workspace](https://developer.roblox.com/en-us/api-reference/class/Workspace) and the function takes more time to run.
24624
- * Tags: Deprecated
24789
+ * Tags: Deprecated, [object Object]
24625
24790
  * @deprecated
24626
24791
  */
24627
24792
  FindPartsInRegion3(
@@ -24652,7 +24817,7 @@ interface WorldRoot extends Model {
24652
24817
  * -----
24653
24818
  *
24654
24819
  * * If a nil value is given in the ignore list, instances after this value will not be ignored
24655
- * Tags: Deprecated
24820
+ * Tags: Deprecated, [object Object]
24656
24821
  * @deprecated
24657
24822
  */
24658
24823
  FindPartsInRegion3WithIgnoreList(
@@ -24683,7 +24848,7 @@ interface WorldRoot extends Model {
24683
24848
  * -----
24684
24849
  *
24685
24850
  * * If a nil value is given in the white list, instances after this value will be disregarded
24686
- * Tags: Deprecated
24851
+ * Tags: Deprecated, [object Object]
24687
24852
  * @deprecated
24688
24853
  */
24689
24854
  FindPartsInRegion3WithWhiteList(
@@ -24751,7 +24916,7 @@ interface WorldRoot extends Model {
24751
24916
  * This means that the area that is inspected by the function may be larger than the [Region3](https://developer.roblox.com/en-us/api-reference/datatype/Region3). For this reason it is recommended to make sure that the [Region3](https://developer.roblox.com/en-us/api-reference/datatype/Region3) is on the voxel grid. The best way to do this is by setting the coordinates of the [Region3](https://developer.roblox.com/en-us/api-reference/datatype/Region3) to multiples of 4 (since voxels are 4 x 4 x 4 studs).
24752
24917
  *
24753
24918
  * This method is a fairly quick and easy way to see if any parts are in a general area. If a game needs to know if parts are exactly in an area, then [BasePart:GetTouchingParts](https://developer.roblox.com/en-us/api-reference/function/BasePart/GetTouchingParts) should be used. There is a higher cost to using [BasePart:GetTouchingParts](https://developer.roblox.com/en-us/api-reference/function/BasePart/GetTouchingParts) since a part is needed in the [Workspace](https://developer.roblox.com/en-us/api-reference/class/Workspace) and the function takes more time to run.
24754
- * Tags: Deprecated
24919
+ * Tags: Deprecated, [object Object]
24755
24920
  * @deprecated
24756
24921
  */
24757
24922
  IsRegion3Empty(this: WorldRoot, region: Region3, ignoreDescendentsInstance?: Instance): boolean;
@@ -24782,7 +24947,7 @@ interface WorldRoot extends Model {
24782
24947
  * -----
24783
24948
  *
24784
24949
  * * If a nil value is given in the ignore list, instances after this value will not be ignored
24785
- * Tags: Deprecated
24950
+ * Tags: Deprecated, [object Object]
24786
24951
  * @deprecated
24787
24952
  */
24788
24953
  IsRegion3EmptyWithIgnoreList(this: WorldRoot, region: Region3, ignoreDescendentsTable: Array<Instance>): boolean;
@@ -25596,7 +25761,7 @@ interface ParticleEmitter extends Instance {
25596
25761
  VelocityInheritance: number;
25597
25762
  /**
25598
25763
  * This property determines how offset a particle can be fired from the local emitter direction of its parent. When a particle is created its offset is picked randomly between 0 and VelocitySpread. This value is measured in degrees.
25599
- * Tags: NotReplicated, Deprecated
25764
+ * Tags: NotReplicated, Deprecated, [object Object]
25600
25765
  * @deprecated
25601
25766
  */
25602
25767
  VelocitySpread: number;
@@ -25625,6 +25790,25 @@ interface ParticleEmitter extends Instance {
25625
25790
  * To clear any emit particles, use [ParticleEmitter:Clear](https://developer.roblox.com/en-us/api-reference/function/ParticleEmitter/Clear).
25626
25791
  */
25627
25792
  Emit(this: ParticleEmitter, particleCount?: number): void;
25793
+ /**
25794
+ * Tags: Hidden
25795
+ */
25796
+ readonly OnClearRequested: RBXScriptSignal<() => void>;
25797
+ /**
25798
+ * Tags: Hidden
25799
+ */
25800
+ readonly OnEmitRequested: RBXScriptSignal<(particleCount: number) => void>;
25801
+ }
25802
+
25803
+ interface PatchBundlerFileWatch extends Instance {
25804
+ /**
25805
+ * **DO NOT USE!**
25806
+ *
25807
+ * This field exists to force TypeScript to recognize this as a nominal type
25808
+ * @hidden
25809
+ * @deprecated
25810
+ */
25811
+ readonly _nominal_PatchBundlerFileWatch: unique symbol;
25628
25812
  }
25629
25813
 
25630
25814
  interface PatchMapping extends Instance {
@@ -25667,7 +25851,7 @@ interface Path extends Instance {
25667
25851
  readonly Status: Enum.PathStatus;
25668
25852
  /**
25669
25853
  * This function returns a table of [Path](https://developer.roblox.com/en-us/api-reference/class/Path) instances.
25670
- * Tags: Deprecated
25854
+ * Tags: Deprecated, [object Object]
25671
25855
  * @deprecated
25672
25856
  */
25673
25857
  GetPointCoordinates(this: Path): unknown;
@@ -25870,13 +26054,13 @@ interface PathfindingService extends Instance {
25870
26054
  CreatePath(this: PathfindingService, agentParameters?: AgentParameters): Path;
25871
26055
  /**
25872
26056
  * This function computes and returns a [Path](https://developer.roblox.com/en-us/api-reference/class/Path) between two [Vector3s](https://developer.roblox.com/en-us/api-reference/datatype/Vector3). If the given MaxDistance is greater than 512, an error will be thrown. (MaxDistance is too large).
25873
- * Tags: Yields, Deprecated
26057
+ * Tags: Yields, Deprecated, [object Object]
25874
26058
  * @deprecated
25875
26059
  */
25876
26060
  ComputeRawPathAsync(this: PathfindingService, start: Vector3, finish: Vector3, maxDistance: number): Instance | undefined;
25877
26061
  /**
25878
26062
  * This function computes and returns a smooth [Path](https://developer.roblox.com/en-us/api-reference/class/Path) between two [Vector3s](https://developer.roblox.com/en-us/api-reference/datatype/Vector3). This function fulfills the same purpose as [PathfindingService:ComputeRawPathAsync](https://developer.roblox.com/en-us/api-reference/function/PathfindingService/ComputeRawPathAsync), but creates a much smoother path for an NPC to follow in comparison.
25879
- * Tags: Yields, Deprecated
26063
+ * Tags: Yields, Deprecated, [object Object]
25880
26064
  * @deprecated
25881
26065
  */
25882
26066
  ComputeSmoothPathAsync(this: PathfindingService, start: Vector3, finish: Vector3, maxDistance: number): Instance | undefined;
@@ -25947,7 +26131,7 @@ interface PhysicsService extends Instance {
25947
26131
  *
25948
26132
  * * The specified group does not exist.
25949
26133
  * * The specified part is not a BasePart.
25950
- * Tags: Deprecated
26134
+ * Tags: Deprecated, [object Object]
25951
26135
  * @deprecated
25952
26136
  */
25953
26137
  CollisionGroupContainsPart(this: PhysicsService, name: string, part: BasePart): boolean;
@@ -25965,7 +26149,7 @@ interface PhysicsService extends Instance {
25965
26149
  CollisionGroupsAreCollidable(this: PhysicsService, name1: string, name2: string): boolean;
25966
26150
  /**
25967
26151
  * Creates a new collision group with the given name, and returns the id of the created group.
25968
- * Tags: Deprecated
26152
+ * Tags: Deprecated, [object Object]
25969
26153
  * @deprecated
25970
26154
  */
25971
26155
  CreateCollisionGroup(this: PhysicsService, name: string): number;
@@ -25973,7 +26157,7 @@ interface PhysicsService extends Instance {
25973
26157
  * The GetCollisionGroupId function returns the id of the collision group with the specified name.
25974
26158
  *
25975
26159
  * This function will throw an error if no group with the given name exists.
25976
- * Tags: Deprecated
26160
+ * Tags: Deprecated, [object Object]
25977
26161
  * @deprecated
25978
26162
  */
25979
26163
  GetCollisionGroupId(this: PhysicsService, name: string): number;
@@ -25981,7 +26165,7 @@ interface PhysicsService extends Instance {
25981
26165
  * Returns the name of the collision group with the corresponding id. This function will return nil if the group with the corresponding id has not been named.
25982
26166
  *
25983
26167
  * This function will throw an error if the id is not in the range of 0 <= id < maxCollisionGroups
25984
- * Tags: Deprecated
26168
+ * Tags: Deprecated, [object Object]
25985
26169
  * @deprecated
25986
26170
  */
25987
26171
  GetCollisionGroupName(this: PhysicsService, name: number): string;
@@ -26011,7 +26195,7 @@ interface PhysicsService extends Instance {
26011
26195
  * string
26012
26196
  *
26013
26197
  * The name of the group
26014
- * Tags: Deprecated
26198
+ * Tags: Deprecated, [object Object]
26015
26199
  * @deprecated
26016
26200
  */
26017
26201
  GetCollisionGroups(this: PhysicsService): Array<CollisionGroupInfo>;
@@ -26031,7 +26215,7 @@ interface PhysicsService extends Instance {
26031
26215
  *
26032
26216
  * * The name “Default” is provided.
26033
26217
  * * The function is called from a client.
26034
- * Tags: Deprecated
26218
+ * Tags: Deprecated, [object Object]
26035
26219
  * @deprecated
26036
26220
  */
26037
26221
  RemoveCollisionGroup(this: PhysicsService, name: string): void;
@@ -26057,7 +26241,7 @@ interface PhysicsService extends Instance {
26057
26241
  *
26058
26242
  * * The part parameter is not a [BasePart](https://developer.roblox.com/en-us/api-reference/class/BasePart) instance.
26059
26243
  * * The specified group does not exist.
26060
- * Tags: Deprecated
26244
+ * Tags: Deprecated, [object Object]
26061
26245
  * @deprecated
26062
26246
  */
26063
26247
  SetPartCollisionGroup(this: PhysicsService, part: BasePart, name: string): void;
@@ -26184,7 +26368,7 @@ interface Player extends Instance {
26184
26368
  * It is automatically set by Roblox to load your avatar's appearance when you join a game.
26185
26369
  *
26186
26370
  * Attempting to set the property after the character has spawned will not change the character, you must call [Player:LoadCharacter](https://developer.roblox.com/en-us/api-reference/function/Player/LoadCharacter) to load the new appearance.
26187
- * Tags: NotBrowsable, Deprecated
26371
+ * Tags: NotBrowsable, Deprecated, [object Object]
26188
26372
  * @deprecated
26189
26373
  */
26190
26374
  CharacterAppearance: string;
@@ -27012,7 +27196,7 @@ interface Players extends Instance {
27012
27196
  readonly MaxPlayers: number;
27013
27197
  /**
27014
27198
  * This property indicates the number of people in the server at the current time. It is read only. Meaning it cannot be written to, only read.
27015
- * Tags: ReadOnly, NotReplicated, Deprecated
27199
+ * Tags: ReadOnly, NotReplicated, Deprecated, [object Object]
27016
27200
  * @deprecated
27017
27201
  */
27018
27202
  readonly NumPlayers: number;
@@ -28121,6 +28305,22 @@ interface RemoteFunction<T extends Callback = Callback> extends Instance {
28121
28305
  * Tags: Yields
28122
28306
  */
28123
28307
  InvokeServer(this: RemoteFunction, ...args: Parameters<T>): ReturnType<T>;
28308
+ /**
28309
+ * Tags: Hidden
28310
+ */
28311
+ readonly RemoteOnInvokeClient: RBXScriptSignal<(id: number, arguments: Array<any>) => void>;
28312
+ /**
28313
+ * Tags: Hidden
28314
+ */
28315
+ readonly RemoteOnInvokeError: RBXScriptSignal<(id: number, arguments: string) => void>;
28316
+ /**
28317
+ * Tags: Hidden
28318
+ */
28319
+ readonly RemoteOnInvokeServer: RBXScriptSignal<(id: number, player: Player, arguments: Array<any>) => void>;
28320
+ /**
28321
+ * Tags: Hidden
28322
+ */
28323
+ readonly RemoteOnInvokeSuccess: RBXScriptSignal<(id: number, arguments: Array<any>) => void>;
28124
28324
  OnClientInvoke: T | undefined;
28125
28325
  OnServerInvoke: ((player: Player, ...args: Array<unknown>) => void) | undefined;
28126
28326
  }
@@ -28653,6 +28853,21 @@ interface CoreScriptBuilder extends ScriptBuilder {
28653
28853
  readonly _nominal_CoreScriptBuilder: unique symbol;
28654
28854
  }
28655
28855
 
28856
+ interface SyncScriptBuilder extends ScriptBuilder {
28857
+ /**
28858
+ * **DO NOT USE!**
28859
+ *
28860
+ * This field exists to force TypeScript to recognize this as a nominal type
28861
+ * @hidden
28862
+ * @deprecated
28863
+ */
28864
+ readonly _nominal_SyncScriptBuilder: unique symbol;
28865
+ CoverageInfo: boolean;
28866
+ DebugInfo: boolean;
28867
+ PackAsSource: boolean;
28868
+ RawBytecode: boolean;
28869
+ }
28870
+
28656
28871
  interface ScriptChangeService extends Instance {
28657
28872
  /**
28658
28873
  * **DO NOT USE!**
@@ -28746,6 +28961,60 @@ interface SelectionHighlightManager extends Instance {
28746
28961
  readonly _nominal_SelectionHighlightManager: unique symbol;
28747
28962
  }
28748
28963
 
28964
+ interface SensorBase extends Instance {
28965
+ /**
28966
+ * **DO NOT USE!**
28967
+ *
28968
+ * This field exists to force TypeScript to recognize this as a nominal type
28969
+ * @hidden
28970
+ * @deprecated
28971
+ */
28972
+ readonly _nominal_SensorBase: unique symbol;
28973
+ UpdateType: Enum.SensorUpdateType;
28974
+ Sense(this: SensorBase): void;
28975
+ readonly OnSensorOutputChanged: RBXScriptSignal<() => void>;
28976
+ }
28977
+
28978
+ interface BuoyancySensor extends SensorBase {
28979
+ /**
28980
+ * **DO NOT USE!**
28981
+ *
28982
+ * This field exists to force TypeScript to recognize this as a nominal type
28983
+ * @hidden
28984
+ * @deprecated
28985
+ */
28986
+ readonly _nominal_BuoyancySensor: unique symbol;
28987
+ FullySubmerged: boolean;
28988
+ TouchingSurface: boolean;
28989
+ }
28990
+
28991
+ interface ControllerSensor extends SensorBase {
28992
+ /**
28993
+ * **DO NOT USE!**
28994
+ *
28995
+ * This field exists to force TypeScript to recognize this as a nominal type
28996
+ * @hidden
28997
+ * @deprecated
28998
+ */
28999
+ readonly _nominal_ControllerSensor: unique symbol;
29000
+ }
29001
+
29002
+ interface ControllerPartSensor extends ControllerSensor {
29003
+ /**
29004
+ * **DO NOT USE!**
29005
+ *
29006
+ * This field exists to force TypeScript to recognize this as a nominal type
29007
+ * @hidden
29008
+ * @deprecated
29009
+ */
29010
+ readonly _nominal_ControllerPartSensor: unique symbol;
29011
+ HitFrame: CFrame;
29012
+ HitNormal: Vector3;
29013
+ SearchDistance: number;
29014
+ SensedPart: BasePart | undefined;
29015
+ SensorMode: Enum.SensorMode;
29016
+ }
29017
+
28749
29018
  /** **ServerScriptService** is a container service for [Script](https://developer.roblox.com/en-us/api-reference/class/Script), [ModuleScript](https://developer.roblox.com/en-us/api-reference/class/ModuleScript) and other scripting-related assets that are only meant for server use. The contents are never replicated to player clients at all, which allows for a secure storage of important game logic. Script objects will run if they are within this service and not [Disabled](https://developer.roblox.com/en-us/api-reference/property/BaseScript/Disabled).
28750
29019
  *
28751
29020
  * This service houses just one property, [LoadStringEnabled](https://developer.roblox.com/en-us/api-reference/property/ServerScriptService/LoadStringEnabled), which determines whether the `loadstring` function in Lua is enabled. It's recommended to keep this disabled for security reasons, as misusing this function can lead to remote code execution vulnerabilities.
@@ -28990,13 +29259,13 @@ interface DataModel extends ServiceProvider<Services> {
28990
29259
  readonly PrivateServerOwnerId: number;
28991
29260
  /**
28992
29261
  * This property was string that could identify the current server as a VIP server.
28993
- * Tags: Hidden, ReadOnly, NotReplicated, Deprecated
29262
+ * Tags: Hidden, ReadOnly, NotReplicated, Deprecated, [object Object]
28994
29263
  * @deprecated
28995
29264
  */
28996
29265
  readonly VIPServerId: string;
28997
29266
  /**
28998
29267
  * This property indicates the [UserId](https://developer.roblox.com/en-us/api-reference/property/Player/UserId) of the account who owns the VIP server.
28999
- * Tags: Hidden, ReadOnly, NotReplicated, Deprecated
29268
+ * Tags: Hidden, ReadOnly, NotReplicated, Deprecated, [object Object]
29000
29269
  * @deprecated
29001
29270
  */
29002
29271
  readonly VIPServerOwnerId: number;
@@ -29133,7 +29402,7 @@ interface DataModel extends ServiceProvider<Services> {
29133
29402
  */
29134
29403
  readonly Loaded: RBXScriptSignal<() => void>;
29135
29404
  /**
29136
- * Tags: Deprecated
29405
+ * Tags: Deprecated, [object Object]
29137
29406
  * @deprecated
29138
29407
  */
29139
29408
  OnClose: () => void;
@@ -29187,6 +29456,19 @@ interface SessionService extends Instance {
29187
29456
  readonly _nominal_SessionService: unique symbol;
29188
29457
  }
29189
29458
 
29459
+ interface SharedTableRegistry extends Instance {
29460
+ /**
29461
+ * **DO NOT USE!**
29462
+ *
29463
+ * This field exists to force TypeScript to recognize this as a nominal type
29464
+ * @hidden
29465
+ * @deprecated
29466
+ */
29467
+ readonly _nominal_SharedTableRegistry: unique symbol;
29468
+ GetSharedTable(this: SharedTableRegistry, name: string): SharedTable;
29469
+ SetSharedTable(this: SharedTableRegistry, name: string, st: SharedTable | undefined): void;
29470
+ }
29471
+
29190
29472
  interface ShorelineUpgraderService extends Instance {
29191
29473
  /**
29192
29474
  * **DO NOT USE!**
@@ -29441,7 +29723,7 @@ interface Sound extends Instance {
29441
29723
  * Sounds parented to a [BasePart](https://developer.roblox.com/en-us/api-reference/class/BasePart) or [Attachment](https://developer.roblox.com/en-us/api-reference/class/Attachment) that are descendants of the [Workspace](https://developer.roblox.com/en-us/api-reference/class/Workspace) are considered 3D sounds and their volume whilst playing is dependent on the distance between the client's sound listener ([Camera](https://developer.roblox.com/en-us/api-reference/class/Camera) position by default) and the Sound's parent. Two properties influence this behavior EmitterSize and [Sound.RollOffMode](https://developer.roblox.com/en-us/api-reference/property/Sound/RollOffMode).
29442
29724
  *
29443
29725
  * The way the [Sound](https://developer.roblox.com/en-us/api-reference/class/Sound) attenuates (fades out) after the distance between the listener and the sound exceeds the EmitterSize is determined by RollOffMode.
29444
- * Tags: Deprecated
29726
+ * Tags: Deprecated, [object Object]
29445
29727
  * @deprecated
29446
29728
  */
29447
29729
  EmitterSize: number;
@@ -29485,7 +29767,7 @@ interface Sound extends Instance {
29485
29767
  * How MaxDistance impacts the attenuation of a sound (manner in which it fades out) is dependent on the [Sound.RollOffMode](https://developer.roblox.com/en-us/api-reference/property/Sound/RollOffMode) property. When RollOffMode is set to use an inverse type distance model (Inverse or InverseTapered) the MaxDistance will not effect the attenuation of the sound. This means that low values for MaxDistance will cause the sound to abruptly cut off when the listener reaches the MaxDistance. In most cases this is not desirable and developers are advised not to use low MaxDistance values.
29486
29768
  *
29487
29769
  * When RollOffMode is set to a linear type distance model (Linear or LinearSquared) the sound will attenuate between [Sound.EmitterSize](https://developer.roblox.com/en-us/api-reference/property/Sound/EmitterSize) and MaxDistance (with playback volume reaching zero at MaxDistance). This is less realistic, but in some cases allows attenuation to be handled in a more intuitive way.
29488
- * Tags: Deprecated
29770
+ * Tags: Deprecated, [object Object]
29489
29771
  * @deprecated
29490
29772
  */
29491
29773
  MaxDistance: number;
@@ -29493,7 +29775,7 @@ interface Sound extends Instance {
29493
29775
  * The minimum distance at which a 3D [Sound](https://developer.roblox.com/en-us/api-reference/class/Sound) (direct child of a [BasePart](https://developer.roblox.com/en-us/api-reference/class/BasePart) or [Attachment](https://developer.roblox.com/en-us/api-reference/class/Attachment)) will begin to attenuate. Effectively, the emitter size.
29494
29776
  *
29495
29777
  * Deprecated in favor of Sound.EmitterSize.
29496
- * Tags: Deprecated
29778
+ * Tags: Deprecated, [object Object]
29497
29779
  * @deprecated
29498
29780
  */
29499
29781
  MinDistance: number;
@@ -29501,7 +29783,7 @@ interface Sound extends Instance {
29501
29783
  * Sets how high pitched and fast a [Sound](https://developer.roblox.com/en-us/api-reference/class/Sound) is when it is played. The greater the integer, the higher and faster the sound is.
29502
29784
  *
29503
29785
  * This property has been deprecated in favor of [Sound.PlaybackSpeed](https://developer.roblox.com/en-us/api-reference/property/Sound/PlaybackSpeed) whose name suits the behavior better.
29504
- * Tags: Deprecated
29786
+ * Tags: Deprecated, [object Object]
29505
29787
  * @deprecated
29506
29788
  */
29507
29789
  Pitch: number;
@@ -32815,6 +33097,10 @@ interface Trail extends Instance {
32815
33097
  * Calling this function will only affect old segments that have already been done. It will not affect the drawing of any new trail segments after this function call. If you would like to clear existing trail segments, and temporarily prevent new segments from being drawn, consider toggling the trail's [Trail.Enabled](https://developer.roblox.com/en-us/api-reference/property/Trail/Enabled) property to false at the same time.
32816
33098
  */
32817
33099
  Clear(this: Trail): void;
33100
+ /**
33101
+ * Tags: Hidden
33102
+ */
33103
+ readonly OnClearRequested: RBXScriptSignal<() => void>;
32818
33104
  }
32819
33105
 
32820
33106
  /** The role of a Translator is to manufacture/return strings localized for the viewing player. it can be used to retrieve display-ready localized text from a [LocalizationTable](https://developer.roblox.com/en-us/api-reference/class/LocalizationTable). The source of the [Translator.LocaleId](https://developer.roblox.com/en-us/api-reference/property/Translator/LocaleId) property, the set of tables it will search, and the order it will search them in depends on which method was used to create the Translator instance.
@@ -33944,6 +34230,10 @@ interface UserGameSettings extends Instance {
33944
34230
  * The type of controls being used by the client on a mobile device.
33945
34231
  */
33946
34232
  TouchMovementMode: Enum.TouchMovementMode;
34233
+ /**
34234
+ * Tags: Hidden, NotReplicated
34235
+ */
34236
+ readonly VRPlayMode: Enum.VRPlayMode;
33947
34237
  readonly VRSmoothRotationEnabled: boolean;
33948
34238
  readonly VignetteEnabled: boolean;
33949
34239
  /**
@@ -34124,7 +34414,7 @@ interface UserInputService extends Instance {
34124
34414
  * This property will only work when used in a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) running for the player whose character controls are to be hidden.
34125
34415
  *
34126
34416
  * Even if mobile controls are hidden for a player on a mobile device, other UserInputService events such as [UserInputService.InputBegan](https://developer.roblox.com/en-us/api-reference/event/UserInputService/InputBegan) and [UserInputService.TouchSwipe](https://developer.roblox.com/en-us/api-reference/event/UserInputService/TouchSwipe) can still be used to process other forms of user input on mobile devices with an enabled touch screen (see the main UserInputService class page for a full list).
34127
- * Tags: Deprecated
34417
+ * Tags: Deprecated, [object Object]
34128
34418
  * @deprecated
34129
34419
  */
34130
34420
  ModalEnabled: boolean;