@rbxts/types 1.0.664 → 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.
@@ -67,12 +67,14 @@ interface Services {
67
67
  LSPFileSyncService: LSPFileSyncService;
68
68
  LuauScriptAnalyzerService: LuauScriptAnalyzerService;
69
69
  MarketplaceService: MarketplaceService;
70
+ MaterialGenerationService: MaterialGenerationService;
70
71
  MaterialService: MaterialService;
71
72
  MemoryStoreService: MemoryStoreService;
72
73
  MessageBusService: MessageBusService;
73
74
  MessagingService: MessagingService;
74
75
  MetaBreakpointManager: MetaBreakpointManager;
75
76
  PackageUIService: PackageUIService;
77
+ PatchBundlerFileWatch: PatchBundlerFileWatch;
76
78
  PathfindingService: PathfindingService;
77
79
  PhysicsService: PhysicsService;
78
80
  Players: Players;
@@ -98,6 +100,7 @@ interface Services {
98
100
  ServerScriptService: ServerScriptService;
99
101
  ServerStorage: ServerStorage;
100
102
  SessionService: SessionService;
103
+ SharedTableRegistry: SharedTableRegistry;
101
104
  ShorelineUpgraderService: ShorelineUpgraderService;
102
105
  SmoothVoxelsUpgraderService: SmoothVoxelsUpgraderService;
103
106
  SnippetService: SnippetService;
@@ -177,6 +180,7 @@ interface CreatableInstances {
177
180
  BoxHandleAdornment: BoxHandleAdornment;
178
181
  Breakpoint: Breakpoint;
179
182
  BrickColorValue: BrickColorValue;
183
+ BuoyancySensor: BuoyancySensor;
180
184
  Camera: Camera;
181
185
  CanvasGroup: CanvasGroup;
182
186
  CFrameValue: CFrameValue;
@@ -191,6 +195,7 @@ interface CreatableInstances {
191
195
  ConeHandleAdornment: ConeHandleAdornment;
192
196
  Configuration: Configuration;
193
197
  ControllerManager: ControllerManager;
198
+ ControllerPartSensor: ControllerPartSensor;
194
199
  CornerWedgePart: CornerWedgePart;
195
200
  CurveAnimation: CurveAnimation;
196
201
  CylinderHandleAdornment: CylinderHandleAdornment;
@@ -238,6 +243,7 @@ interface CreatableInstances {
238
243
  ImageLabel: ImageLabel;
239
244
  IntConstrainedValue: IntConstrainedValue;
240
245
  InternalSyncItem: InternalSyncItem;
246
+ IntersectOperation: IntersectOperation;
241
247
  IntValue: IntValue;
242
248
  Keyframe: Keyframe;
243
249
  KeyframeMarker: KeyframeMarker;
@@ -434,6 +440,7 @@ interface Instances extends Services, CreatableInstances, AbstractInstances {
434
440
  CloudLocalizationTable: CloudLocalizationTable;
435
441
  CommandInstance: CommandInstance;
436
442
  ControllerBase: ControllerBase;
443
+ ControllerSensor: ControllerSensor;
437
444
  CoreScriptBuilder: CoreScriptBuilder;
438
445
  CustomSoundEffect: CustomSoundEffect;
439
446
  DataModel: DataModel;
@@ -449,11 +456,11 @@ interface Instances extends Services, CreatableInstances, AbstractInstances {
449
456
  DebuggerConnection: DebuggerConnection;
450
457
  DebuggerLuaResponse: DebuggerLuaResponse;
451
458
  DebuggerVariable: DebuggerVariable;
452
- DynamicTextureAlpha: DynamicTextureAlpha;
453
- DynamicTextureLayerAlpha: DynamicTextureLayerAlpha;
454
459
  EmotesPages: EmotesPages;
460
+ FacialAnimationStreamingServiceStats: FacialAnimationStreamingServiceStats;
455
461
  FriendPages: FriendPages;
456
462
  GlobalDataStore: GlobalDataStore;
463
+ ImageDataExperimental: ImageDataExperimental;
457
464
  ImporterAnimationSettings: ImporterAnimationSettings;
458
465
  ImporterBaseSettings: ImporterBaseSettings;
459
466
  ImporterFacsSettings: ImporterFacsSettings;
@@ -467,6 +474,7 @@ interface Instances extends Services, CreatableInstances, AbstractInstances {
467
474
  InventoryPages: InventoryPages;
468
475
  LocalDebuggerConnection: LocalDebuggerConnection;
469
476
  LodDataEntity: LodDataEntity;
477
+ MaterialGenerationSession: MaterialGenerationSession;
470
478
  MemoryStoreQueue: MemoryStoreQueue;
471
479
  MemoryStoreSortedMap: MemoryStoreSortedMap;
472
480
  MessageBusConnection: MessageBusConnection;
@@ -493,18 +501,21 @@ interface Instances extends Services, CreatableInstances, AbstractInstances {
493
501
  ScreenshotHud: ScreenshotHud;
494
502
  ScriptBuilder: ScriptBuilder;
495
503
  ScriptDocument: ScriptDocument;
504
+ SensorBase: SensorBase;
496
505
  Speaker: Speaker;
497
506
  StackFrame: StackFrame;
498
507
  StandardPages: StandardPages;
499
508
  StarterCharacterScripts: StarterCharacterScripts;
500
509
  StarterPlayerScripts: StarterPlayerScripts;
501
510
  SurfaceGuiBase: SurfaceGuiBase;
511
+ SyncScriptBuilder: SyncScriptBuilder;
502
512
  TeleportAsyncResult: TeleportAsyncResult;
503
513
  Terrain: Terrain;
504
514
  TextChatConfigurations: TextChatConfigurations;
505
515
  TextChatMessage: TextChatMessage;
506
516
  TextFilterResult: TextFilterResult;
507
517
  TextSource: TextSource;
518
+ TextureGuiExperimental: TextureGuiExperimental;
508
519
  ThreadState: ThreadState;
509
520
  TouchTransmitter: TouchTransmitter;
510
521
  TrackerLodController: TrackerLodController;
@@ -2017,6 +2028,10 @@ interface Animator extends Instance {
2017
2028
  * @deprecated
2018
2029
  */
2019
2030
  readonly _nominal_Animator: unique symbol;
2031
+ /**
2032
+ * Tags: ReadOnly, NotReplicated, NotBrowsable
2033
+ */
2034
+ readonly EvaluationThrottled: boolean;
2020
2035
  PreferLodEnabled: boolean;
2021
2036
  /**
2022
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.
@@ -2116,7 +2131,8 @@ interface AssetImportSession extends Instance {
2116
2131
  * @deprecated
2117
2132
  */
2118
2133
  readonly _nominal_AssetImportSession: unique symbol;
2119
- readonly UploadComplete: RBXScriptSignal<(succeeded: boolean, errorMap: object) => void>;
2134
+ readonly UploadComplete: RBXScriptSignal<(results: object) => void>;
2135
+ readonly UploadCompleteDeprecated: RBXScriptSignal<(succeeded: boolean, errorMap: object) => void>;
2120
2136
  readonly UploadProgress: RBXScriptSignal<(progressRatio: number) => void>;
2121
2137
  }
2122
2138
 
@@ -2945,243 +2961,6 @@ interface Backpack extends Instance {
2945
2961
  readonly _nominal_Backpack: unique symbol;
2946
2962
  }
2947
2963
 
2948
- /** BackpackItem is an abstract class for backpack items such as HopperBins and Tools. */
2949
- interface BackpackItem extends Instance {
2950
- /**
2951
- * **DO NOT USE!**
2952
- *
2953
- * This field exists to force TypeScript to recognize this as a nominal type
2954
- * @hidden
2955
- * @deprecated
2956
- */
2957
- readonly _nominal_BackpackItem: unique symbol;
2958
- /**
2959
- * The texture icon that is displayed for a tool in the [Player](https://developer.roblox.com/en-us/api-reference/class/Player)'s backpack.
2960
- *
2961
- * This property should be set to the content ID of an image uploaded to the Roblox website.
2962
- *
2963
- * 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.
2964
- */
2965
- TextureId: string;
2966
- }
2967
-
2968
- /** 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).
2969
- *
2970
- * 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.
2971
- *
2972
- * 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.
2973
- */
2974
- interface Tool extends BackpackItem {
2975
- /**
2976
- * **DO NOT USE!**
2977
- *
2978
- * This field exists to force TypeScript to recognize this as a nominal type
2979
- * @hidden
2980
- * @deprecated
2981
- */
2982
- readonly _nominal_Tool: unique symbol;
2983
- /**
2984
- * The CanBeDropped property controls whether the player can drop the [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool).
2985
- *
2986
- * 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.
2987
- */
2988
- CanBeDropped: boolean;
2989
- /**
2990
- * 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).
2991
- *
2992
- * When set to true, the tool can use the tool.
2993
- *
2994
- * 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.
2995
- */
2996
- Enabled: boolean;
2997
- /**
2998
- * 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.
2999
- *
3000
- * The grip properties are used to position how the player holds the tool.
3001
- *
3002
- * 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).
3003
- *
3004
- * ![Grip properties in Studio's Properties Window](https://developer.roblox.com/assets/blt87cc763d68414be8/Screen_Shot_2018-08-26_at_8.35.48_PM.png)
3005
- *
3006
- * 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.
3007
- */
3008
- Grip: CFrame;
3009
- /**
3010
- * 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.
3011
- *
3012
- * 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.
3013
- *
3014
- * 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.
3015
- * Tags: Hidden, NotReplicated
3016
- */
3017
- GripForward: Vector3;
3018
- /**
3019
- * 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.
3020
- *
3021
- * 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.
3022
- *
3023
- * 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.
3024
- * Tags: Hidden, NotReplicated
3025
- */
3026
- GripPos: Vector3;
3027
- /**
3028
- * 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.
3029
- *
3030
- * 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.
3031
- *
3032
- * 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.
3033
- * Tags: Hidden, NotReplicated
3034
- */
3035
- GripRight: Vector3;
3036
- /**
3037
- * 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.
3038
- *
3039
- * 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.
3040
- *
3041
- * 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.
3042
- * Tags: Hidden, NotReplicated
3043
- */
3044
- GripUp: Vector3;
3045
- /**
3046
- * 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.
3047
- *
3048
- * 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.
3049
- *
3050
- * 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).
3051
- */
3052
- ManualActivationOnly: boolean;
3053
- /**
3054
- * The RequiresTool property determines whether a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) functions without a handle.
3055
- *
3056
- * 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.
3057
- *
3058
- * 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.
3059
- *
3060
- * When set to false, the tool will not function without a handle.
3061
- */
3062
- RequiresHandle: boolean;
3063
- /**
3064
- * 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).
3065
- *
3066
- * 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:
3067
- *
3068
- * tool.ToolTip = "Shovel"
3069
- *
3070
- * or
3071
- *
3072
- * tool.ToolTip = "Use to dig"
3073
- *
3074
- * or
3075
- *
3076
- * tool.ToolTip = "Shovel - Use to dig"
3077
- */
3078
- ToolTip: string;
3079
- /**
3080
- * 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.
3081
- *
3082
- * 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.
3083
- *
3084
- * 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.
3085
- *
3086
- * local tool = Instance.new("Tool")
3087
- * tool.RequiresHandle = false
3088
- * tool.Parent = game.Players.LocalPlayer.Backpack
3089
- *
3090
- * tool.Equipped:Connect(function()
3091
- * tool:Activate()
3092
- * end)
3093
- *
3094
- * function toolActivated()
3095
- * print("Tool activated")
3096
- * end
3097
- *
3098
- * tool.Activated:Connect(toolActivated)
3099
- */
3100
- Activate(this: Tool): void;
3101
- /**
3102
- * 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.
3103
- *
3104
- * 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.
3105
- *
3106
- * 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.
3107
- *
3108
- * local tool = Instance.new("Tool")
3109
- * tool.RequiresHandle = false
3110
- * tool.Parent = game.Players.LocalPlayer.Backpack
3111
- *
3112
- * tool.Equipped:Connect(function()
3113
- * tool:Deactivate()
3114
- * end)
3115
- *
3116
- * function toolDeactivated()
3117
- * print("Tool deactivated")
3118
- * end
3119
- *
3120
- * tool.Deactivated:Connect(toolDeactivated)
3121
- */
3122
- Deactivate(this: Tool): void;
3123
- /**
3124
- * **Activated** is not called if the Ctrl key is pressed during a click.
3125
- *
3126
- * The Activated event fires when the player clicks while a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) is equipped.
3127
- *
3128
- * 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.
3129
- *
3130
- * 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.
3131
- *
3132
- * local tool = Instance.new("Tool")
3133
- * tool.RequiresHandle = false
3134
- * tool.Parent = game.Players.LocalPlayer.Backpack
3135
- *
3136
- * function onActivation()
3137
- * print("Tool activated")
3138
- * end
3139
- *
3140
- * tool.Activated:Connect(onActivation)
3141
- */
3142
- readonly Activated: RBXScriptSignal<() => void>;
3143
- /**
3144
- * 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.
3145
- *
3146
- * 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.
3147
- *
3148
- * 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.
3149
- *
3150
- * local tool = Instance.new("Tool")
3151
- * tool.RequiresHandle = false
3152
- * tool.Parent = game.Players.LocalPlayer.Backpack
3153
- *
3154
- * function toolDeactivated()
3155
- * print("Tool deactivated")
3156
- * end
3157
- *
3158
- * tool.Deactivated:Connect(toolDeactivated)
3159
- */
3160
- readonly Deactivated: RBXScriptSignal<() => void>;
3161
- /**
3162
- * 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.
3163
- *
3164
- * 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.
3165
- *
3166
- * 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.
3167
- */
3168
- readonly Equipped: RBXScriptSignal<(mouse: Mouse) => void>;
3169
- /**
3170
- * 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.
3171
- *
3172
- * 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.
3173
- *
3174
- * 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.
3175
- *
3176
- * 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.
3177
- *
3178
- * Tool.Unequipped:Connect(function()
3179
- * print("The tool was unequipped")
3180
- * end)
3181
- */
3182
- readonly Unequipped: RBXScriptSignal<() => void>;
3183
- }
3184
-
3185
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.
3186
2965
  *
3187
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.
@@ -8063,6 +7842,8 @@ interface ContentProvider extends Instance {
8063
7842
  * Tags: ReadOnly, NotReplicated
8064
7843
  */
8065
7844
  readonly RequestQueueSize: number;
7845
+ GetAssetFetchStatus(this: ContentProvider, contentId: string): Enum.AssetFetchStatus;
7846
+ GetAssetFetchStatusChangedSignal(this: ContentProvider, contentId: string): RBXScriptSignal;
8066
7847
  ListEncryptedAssets(this: ContentProvider): unknown;
8067
7848
  /**
8068
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.
@@ -8460,7 +8241,6 @@ interface AirController extends ControllerBase {
8460
8241
  * @deprecated
8461
8242
  */
8462
8243
  readonly _nominal_AirController: unique symbol;
8463
- CancelAirMomentum: boolean;
8464
8244
  MaintainAngularMomentum: boolean;
8465
8245
  MaintainLinearMomentum: boolean;
8466
8246
  MoveMaxForce: number;
@@ -8537,7 +8317,9 @@ interface ControllerManager extends Instance {
8537
8317
  readonly ActiveController: ControllerBase | undefined;
8538
8318
  BaseMoveSpeed: number;
8539
8319
  BaseTurnSpeed: number;
8320
+ ClimbSensor: ControllerSensor | undefined;
8540
8321
  FacingDirection: Vector3;
8322
+ GroundSensor: ControllerSensor | undefined;
8541
8323
  MovingDirection: Vector3;
8542
8324
  GetControllers(this: ControllerManager): Array<Instance>;
8543
8325
  }
@@ -9602,30 +9384,6 @@ interface DraggerService extends Instance {
9602
9384
  ShowPivotIndicator: boolean;
9603
9385
  }
9604
9386
 
9605
- interface DynamicTextureAlpha extends Instance {
9606
- /**
9607
- * **DO NOT USE!**
9608
- *
9609
- * This field exists to force TypeScript to recognize this as a nominal type
9610
- * @hidden
9611
- * @deprecated
9612
- */
9613
- readonly _nominal_DynamicTextureAlpha: unique symbol;
9614
- CreateLayer(this: DynamicTextureAlpha): DynamicTextureLayerAlpha;
9615
- }
9616
-
9617
- interface DynamicTextureLayerAlpha extends Instance {
9618
- /**
9619
- * **DO NOT USE!**
9620
- *
9621
- * This field exists to force TypeScript to recognize this as a nominal type
9622
- * @hidden
9623
- * @deprecated
9624
- */
9625
- readonly _nominal_DynamicTextureLayerAlpha: unique symbol;
9626
- ZIndex: number;
9627
- }
9628
-
9629
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. */
9630
9388
  interface EulerRotationCurve extends Instance {
9631
9389
  /**
@@ -10069,6 +9827,17 @@ interface FacialAnimationStreamingService extends Instance {
10069
9827
  readonly _nominal_FacialAnimationStreamingService: unique symbol;
10070
9828
  }
10071
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
+
10072
9841
  interface FacialAnimationStreamingServiceV2 extends Instance {
10073
9842
  /**
10074
9843
  * **DO NOT USE!**
@@ -10666,7 +10435,7 @@ interface DataStore extends GlobalDataStore {
10666
10435
  * * [Data Stores](https://developer.roblox.com/en-us/articles/data-store), an in-depth guide on data structure, management, error handling, etc.
10667
10436
  * Tags: Yields
10668
10437
  */
10669
- ListKeysAsync(this: DataStore, prefix?: string, pageSize?: number, cursor?: string): DataStoreKeyPages;
10438
+ ListKeysAsync(this: DataStore, prefix?: string, pageSize?: number, cursor?: string, excludeDeleted?: boolean): DataStoreKeyPages;
10670
10439
  /**
10671
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.
10672
10441
  *
@@ -13522,6 +13291,22 @@ interface SurfaceGui extends SurfaceGuiBase {
13522
13291
  ZOffset: number;
13523
13292
  }
13524
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
+
13525
13310
  /** An abstract class for 3D GUI elements that are rendered in the world. */
13526
13311
  interface GuiBase3d extends GuiBase {
13527
13312
  /**
@@ -13890,6 +13675,7 @@ interface WireframeHandleAdornment extends HandleAdornment {
13890
13675
  * @deprecated
13891
13676
  */
13892
13677
  readonly _nominal_WireframeHandleAdornment: unique symbol;
13678
+ Scale: Vector3;
13893
13679
  AddLine(this: WireframeHandleAdornment, from: Vector3, to: Vector3): void;
13894
13680
  AddLines(this: WireframeHandleAdornment, points: Array<any>): void;
13895
13681
  AddPath(this: WireframeHandleAdornment, points: Array<any>, loop: boolean): void;
@@ -16477,6 +16263,26 @@ interface IXPService extends Instance {
16477
16263
  readonly _nominal_IXPService: unique symbol;
16478
16264
  }
16479
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
+
16480
16286
  interface ImporterBaseSettings extends Instance {
16481
16287
  /**
16482
16288
  * **DO NOT USE!**
@@ -16629,11 +16435,13 @@ interface ImporterRootSettings extends ImporterBaseSettings {
16629
16435
  readonly _nominal_ImporterRootSettings: unique symbol;
16630
16436
  AddModelToInventory: boolean;
16631
16437
  Anchored: boolean;
16438
+ ExistingPackageId: string;
16632
16439
  /**
16633
16440
  * Tags: ReadOnly, NotReplicated
16634
16441
  */
16635
16442
  readonly FileDimensions: Vector3;
16636
16443
  ImportAsModelAsset: boolean;
16444
+ ImportAsPackage: boolean;
16637
16445
  InsertInWorkspace: boolean;
16638
16446
  InsertWithScenePosition: boolean;
16639
16447
  InvertNegativeFaces: boolean;
@@ -16642,8 +16450,10 @@ interface ImporterRootSettings extends ImporterBaseSettings {
16642
16450
  * Tags: ReadOnly, NotReplicated
16643
16451
  */
16644
16452
  readonly PolygonCount: number;
16453
+ RigScale: Enum.RigScale;
16645
16454
  RigType: Enum.RigType;
16646
16455
  ScaleUnit: Enum.MeshScaleUnit;
16456
+ UseSceneOriginAsCFrame: boolean;
16647
16457
  UseSceneOriginAsPivot: boolean;
16648
16458
  UsesCages: boolean;
16649
16459
  WorldForward: Enum.NormalId;
@@ -21145,6 +20955,7 @@ interface BaseScript extends LuaSourceContainer {
21145
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).
21146
20956
  */
21147
20957
  LinkedSource: string;
20958
+ readonly RunContext: Enum.RunContext;
21148
20959
  }
21149
20960
 
21150
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:
@@ -21657,6 +21468,28 @@ interface MarketplaceService extends Instance {
21657
21468
  ProcessReceipt: ((receiptInfo: ReceiptInfo) => Enum.ProductPurchaseDecision) | undefined;
21658
21469
  }
21659
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
+
21660
21493
  interface MaterialService extends Instance {
21661
21494
  /**
21662
21495
  * **DO NOT USE!**
@@ -23245,6 +23078,8 @@ interface BasePart extends PVInstance {
23245
23078
  ApplyImpulseAtPosition(this: BasePart, impulse: Vector3, position: Vector3): void;
23246
23079
  /**
23247
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
23248
23083
  */
23249
23084
  BreakJoints(this: BasePart): void;
23250
23085
  /**
@@ -23353,6 +23188,8 @@ interface BasePart extends PVInstance {
23353
23188
  * part:MakeJoints({part1, part2, part3})
23354
23189
  *
23355
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
23356
23193
  */
23357
23194
  MakeJoints(this: BasePart): void;
23358
23195
  /**
@@ -23376,6 +23213,10 @@ interface BasePart extends PVInstance {
23376
23213
  * Lets the game engine dynamically decide who will handle the part's physics (one of the clients or the server).
23377
23214
  */
23378
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;
23379
23220
  /**
23380
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.
23381
23222
  *
@@ -24203,6 +24044,17 @@ interface PartOperation extends TriangleMeshPart {
24203
24044
  UsePartColor: boolean;
24204
24045
  }
24205
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
+
24206
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.
24207
24059
  *
24208
24060
  * ![](https://developer.roblox.com/assets/blt7dc16d2d629426a6/CSG-Negate-Button.png)
@@ -24411,6 +24263,8 @@ interface Model extends PVInstance {
24411
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.
24412
24264
  *
24413
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
24414
24268
  */
24415
24269
  BreakJoints(this: Model): void;
24416
24270
  /**
@@ -24490,6 +24344,8 @@ interface Model extends PVInstance {
24490
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
24491
24345
  *
24492
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
24493
24349
  */
24494
24350
  MakeJoints(this: Model): void;
24495
24351
  /**
@@ -24552,6 +24408,243 @@ interface Actor extends Model {
24552
24408
  readonly _nominal_Actor: unique symbol;
24553
24409
  }
24554
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
+
24555
24648
  interface WorldRoot extends Model {
24556
24649
  /**
24557
24650
  * **DO NOT USE!**
@@ -25707,6 +25800,17 @@ interface ParticleEmitter extends Instance {
25707
25800
  readonly OnEmitRequested: RBXScriptSignal<(particleCount: number) => void>;
25708
25801
  }
25709
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;
25812
+ }
25813
+
25710
25814
  interface PatchMapping extends Instance {
25711
25815
  /**
25712
25816
  * **DO NOT USE!**
@@ -28749,6 +28853,21 @@ interface CoreScriptBuilder extends ScriptBuilder {
28749
28853
  readonly _nominal_CoreScriptBuilder: unique symbol;
28750
28854
  }
28751
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
+
28752
28871
  interface ScriptChangeService extends Instance {
28753
28872
  /**
28754
28873
  * **DO NOT USE!**
@@ -28842,6 +28961,60 @@ interface SelectionHighlightManager extends Instance {
28842
28961
  readonly _nominal_SelectionHighlightManager: unique symbol;
28843
28962
  }
28844
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
+
28845
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).
28846
29019
  *
28847
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.
@@ -29283,6 +29456,19 @@ interface SessionService extends Instance {
29283
29456
  readonly _nominal_SessionService: unique symbol;
29284
29457
  }
29285
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
+
29286
29472
  interface ShorelineUpgraderService extends Instance {
29287
29473
  /**
29288
29474
  * **DO NOT USE!**
@@ -34044,6 +34230,10 @@ interface UserGameSettings extends Instance {
34044
34230
  * The type of controls being used by the client on a mobile device.
34045
34231
  */
34046
34232
  TouchMovementMode: Enum.TouchMovementMode;
34233
+ /**
34234
+ * Tags: Hidden, NotReplicated
34235
+ */
34236
+ readonly VRPlayMode: Enum.VRPlayMode;
34047
34237
  readonly VRSmoothRotationEnabled: boolean;
34048
34238
  readonly VignetteEnabled: boolean;
34049
34239
  /**