Reference#
Written out of the class registry rather than by hand, so it cannot describe a property
that does not exist. Regenerate it by running DumpReference in script, which brings every
signature up to date and keeps the notes written beside them.
A plain public field on a class is a replicated property; a public final signal is an event; a public final callback is a function a place assigns. Nothing is declared twice, which is why this page, the editor's type file, the replication codec and the debug overlay all say the same thing.
Vector3#
| Property | Type |
|---|---|
x |
number |
y |
number |
z |
number |
magnitude |
number |
unit |
Vector3 |
Methods:
__add(other: Vector3): Vector3__sub(other: Vector3): Vector3__mul(scale: number): Vector3__mul(other: Vector3): Vector3__div(scale: number): Vector3__div(other: Vector3): Vector3__unm(): Vector3distance(other: Vector3): numberdistanceSq(other: Vector3): numberdot(other: Vector3): numbercross(other: Vector3): Vector3lerp(goal: Vector3, alpha: number): Vector3angleTo(other: Vector3): numberflat(): Vector3clampMagnitude(max: number): Vector3abs(): Vector3floor(): Vector3add(other: Vector3): Vector3sub(other: Vector3): Vector3mul(by: number | Vector3): Vector3div(by: number | Vector3): Vector3neg(): Vector3
UDim2#
| Property | Type |
|---|---|
xScale |
number |
xOffset |
number |
yScale |
number |
yOffset |
number |
Methods:
__add(other: UDim2): UDim2__sub(other: UDim2): UDim2
Color#
| Property | Type |
|---|---|
r |
number |
g |
number |
b |
number |
a |
number |
Quat#
| Property | Type |
|---|---|
x |
number |
y |
number |
z |
number |
w |
number |
Methods:
slerp(goal: Quat, alpha: number): Quatinverse(): Quatrotate(vector: Vector3): Vector3mul(other: Quat): Quat__mul(other: Quat): Quat
CFrame#
| Property | Type |
|---|---|
position |
Vector3 |
rotation |
Quat |
lookVector |
Vector3 |
rightVector |
Vector3 |
upVector |
Vector3 |
Methods:
__mul(other: CFrame): CFrame__mul(point: Vector3): Vector3inverse(): CFramelerp(goal: CFrame, alpha: number): CFrametoObjectSpace(other: CFrame): CFrametoWorldSpace(other: CFrame): CFramepointToObjectSpace(point: Vector3): Vector3pointToWorldSpace(point: Vector3): Vector3vectorToObjectSpace(vector: Vector3): Vector3vectorToWorldSpace(vector: Vector3): Vector3lookAt(target: Vector3): CFramemul(other: CFrame): CFrame
Connection#
| Property | Type |
|---|---|
connected |
boolean |
Methods:
disconnect(): ()
ChangedSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (property: string) -> ()): ConnectionconnectParallel(handler: (property: string) -> ()): Connectiononce(handler: (property: string) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (property: string) -> ()): Connection
InstanceSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (instance: Instance) -> ()): ConnectionconnectParallel(handler: (instance: Instance) -> ()): Connectiononce(handler: (instance: Instance) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (instance: Instance) -> ()): Connection
AttributeSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (name: string) -> ()): ConnectionconnectParallel(handler: (name: string) -> ()): Connectiononce(handler: (name: string) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (name: string) -> ()): Connection
AncestrySignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (child: Instance, parent: Instance?) -> ()): ConnectionconnectParallel(handler: (child: Instance, parent: Instance?) -> ()): Connectiononce(handler: (child: Instance, parent: Instance?) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (child: Instance, parent: Instance?) -> ()): Connection
AnySignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (...any) -> ()): ConnectionconnectParallel(handler: (...any) -> ()): Connectiononce(handler: (...any) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (...any) -> ()): Connection
NumberSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (value: number) -> ()): ConnectionconnectParallel(handler: (value: number) -> ()): Connectiononce(handler: (value: number) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (value: number) -> ()): Connection
BoolSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (active: boolean) -> ()): ConnectionconnectParallel(handler: (active: boolean) -> ()): Connectiononce(handler: (active: boolean) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (active: boolean) -> ()): Connection
StringSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (value: string) -> ()): ConnectionconnectParallel(handler: (value: string) -> ()): Connectiononce(handler: (value: string) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (value: string) -> ()): Connection
MarkerSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (value: any) -> ()): ConnectionconnectParallel(handler: (value: any) -> ()): Connectiononce(handler: (value: any) -> ()): Connectionevery(n: number, handler: (value: any) -> ()): Connectionwait(timeout: number?): ...any
StepSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (delta: number) -> ()): ConnectionconnectParallel(handler: (delta: number) -> ()): Connectiononce(handler: (delta: number) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (delta: number) -> ()): Connection
PlayerSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (player: Player) -> ()): ConnectionconnectParallel(handler: (player: Player) -> ()): Connectiononce(handler: (player: Player) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (player: Player) -> ()): Connection
ArrivalSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (player: Player, data: any) -> ()): ConnectionconnectParallel(handler: (player: Player, data: any) -> ()): Connectiononce(handler: (player: Player, data: any) -> ()): Connectionevery(n: number, handler: (player: Player, data: any) -> ()): Connectionwait(timeout: number?): ...any
ExplosionSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (part: Instance, distance: number) -> ()): ConnectionconnectParallel(handler: (part: Instance, distance: number) -> ()): Connectiononce(handler: (part: Instance, distance: number) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (part: Instance, distance: number) -> ()): Connection
StrikeSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (position: Vector3) -> ()): ConnectionconnectParallel(handler: (position: Vector3) -> ()): Connectiononce(handler: (position: Vector3) -> ()): Connectionevery(n: number, handler: (position: Vector3) -> ()): Connectionwait(timeout: number?): ...any
RemoteServerSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (body: Character?, ...any) -> ()): ConnectionconnectParallel(handler: (body: Character?, ...any) -> ()): Connectiononce(handler: (body: Character?, ...any) -> ()): Connectionevery(n: number, handler: (body: Character?, ...any) -> ()): Connectionwait(timeout: number?): ...any
RemotePlayerSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (player: Player, ...any) -> ()): ConnectionconnectParallel(handler: (player: Player, ...any) -> ()): Connectiononce(handler: (player: Player, ...any) -> ()): Connectionevery(n: number, handler: (player: Player, ...any) -> ()): Connectionwait(timeout: number?): ...any
PointerSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (x: number, y: number) -> ()): ConnectionconnectParallel(handler: (x: number, y: number) -> ()): Connectiononce(handler: (x: number, y: number) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (x: number, y: number) -> ()): Connection
FocusLostSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (enterPressed: boolean) -> ()): ConnectionconnectParallel(handler: (enterPressed: boolean) -> ()): Connectiononce(handler: (enterPressed: boolean) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (enterPressed: boolean) -> ()): Connection
Player#
| Property | Type |
|---|---|
name |
string |
id |
string |
character |
Character? |
controls |
PlayerControls |
team |
Team? (set on the server) |
leaderstats |
Leaderstats? |
Methods:
spawn(at: (Vector3 | CFrame)?): Character(server)kick(message: string?): ()ban(reason: string?, seconds: number?): ()ping(): numberviewTime(): number
Players#
| Property | Type |
|---|---|
joined |
PlayerSignal (server) |
leaving |
PlayerSignal (server) |
spawned |
PlayerSignal (server) |
autoSpawn |
boolean (server) |
respawnTime |
number (server) |
controls |
PlayerControls (client) |
arrived |
ArrivalSignal (server) |
Methods:
me(): Character?(client)list(): { Player }byId(id: string): Player?playerOf(body: Instance): Player?all(): { Character }near(position: Vector3, radius: number, except: Instance?): { Character }nearest(position: Vector3, radius: number?, except: Instance?): (Character?, number?)bodyOf(player: string): Character?count(): numberinBox(frame: CFrame, size: Vector3, except: Instance?): { Character }inPart(part: Instance, except: Instance?): { Character }inCone(position: Vector3, direction: Vector3, angle: number, range: number, except: Instance?): { Character }visibleFrom(position: Vector3, range: number, except: Instance?): { Character }withTag(tag: string): { Character }random(except: Instance?): Character?sortedByDistance(position: Vector3): { Character }inRange(a: Instance, b: Instance, range: number): booleanfromName(name: string): Character?
PlayerControls#
| Property | Type |
|---|---|
move |
boolean |
jump |
boolean |
look |
boolean |
Methods:
enable(): ()disable(): ()
Tween#
| Property | Type |
|---|---|
completed |
AnySignal |
Methods:
pause(): ()resume(): ()cancel(): ()state(): string
Instance#
| Property | Type |
|---|---|
name |
string |
className |
string |
parent |
Instance? |
changed |
ChangedSignal |
childAdded |
InstanceSignal |
destroying |
InstanceSignal |
attributeChanged |
AttributeSignal |
ancestryChanged |
AncestrySignal |
descendantAdded |
InstanceSignal |
descendantRemoving |
InstanceSignal |
Methods:
add(className: string, properties: { [string]: any }?): Instance(typed as the class named,add("Part")is aPart)addAll(className: string, properties: { { [string]: any } }): numberchildren(): { Instance }find(name: string): Instance?isA(className: string): booleanraycast(from: Vector3, direction: Vector3, range: number?, options: QueryOptions?): (Instance?, Vector3?, number?, Vector3?, string?)spherecast(from: Vector3, radius: number, direction: Vector3, range: number?, options: QueryOptions?): (Instance?, Vector3?, number?, Vector3?)blockcast(frame: CFrame, size: Vector3, direction: Vector3, range: number?, options: QueryOptions?): (Instance?, Vector3?, number?, Vector3?)partsInBox(frame: CFrame, size: Vector3, options: QueryOptions?): { Instance }partsInRadius(position: Vector3, radius: number, options: QueryOptions?): { Instance }partsInPart(part: Instance, options: QueryOptions?): { Instance }raycastAll(from: Vector3, direction: Vector3, range: number?, options: QueryOptions?): { RayHit }raycastMany(rays: { { any } }, options: QueryOptions?): { RayHit | false }nearestPart(position: Vector3, radius: number, options: QueryOptions?): (Instance?, number?)nearestTagged(position: Vector3, tag: string, radius: number?): (Instance?, number?)partsAlongRay(from: Vector3, direction: Vector3, range: number?, options: QueryOptions?): { RayHit }capsulecast(from: Vector3, to: Vector3, radius: number, options: QueryOptions?): (Instance?, Vector3?, number?, Vector3?)sweep(part: Instance, direction: Vector3, distance: number, options: QueryOptions?): (Instance?, Vector3?, number?, Vector3?)partsAtPoint(position: Vector3, options: QueryOptions?): { Instance }boundsOf(instances: { Instance }): (CFrame?, Vector3?)groundAt(x: number, z: number, from: number?, options: QueryOptions?): (number?, Vector3?)surfaceNormal(position: Vector3, options: QueryOptions?): Vector3?heightmap(from: Vector3, to: Vector3, step: number?, options: QueryOptions?): { { number } }findFreeSpot(near: Vector3, size: Vector3, radius: number?): Vector3?findFirstDescendant(name: string): Instance?descendants(className: string?): { Instance }childrenOfClass(className: string): { Instance }firstAncestorOfClass(className: string): Instance?firstChildOfClass(className: string, recursive: boolean?): Instance?firstAncestor(name: string): Instance?isDescendantOf(other: Instance): booleanisAncestorOf(other: Instance): booleangetFullName(): stringclearAllChildren(): ()byTag(tag: string): { Instance }values(): { [string]: any }clone(parent: Instance?): Instance?query(selector: string): { Instance }queryFirst(selector: string): Instance?waitForChild(name: string, timeout: number?): Instance?onChild(name: string, fn: (child: Instance) -> ()): Connectiondestroy(): ()setOwner(to: Instance?): ()addTag(tag: string): ()removeTag(tag: string): ()hasTag(tag: string): booleangetTags(): { string }setAttribute(name: string, value: any): ()getAttribute(name: string): anygetAttributes(): { [string]: any }getAttributeChangedSignal(name: string): AnySignalgetPropertyChangedSignal(property: string): AnySignaltween(goals: { [string]: any }, info: TweenInfo?): TweengetActor(): Actor?fireServer(...: any): ()fireClient(to: Instance, ...: any): ()fireAllClients(...: any): ()
Folder#
Extends Instance
Spatial#
Extends Instance
| Property | Type |
|---|---|
position |
Vector3 |
rotation |
Quat |
worldCframe |
CFrame |
alwaysRelevant |
boolean |
cframe |
CFrame |
owner |
string |
pivot |
Vector3 |
visible |
boolean |
Methods:
getPivot(): CFramepivotTo(target: CFrame): ()
Part#
Extends Spatial
| Property | Type |
|---|---|
touched |
InstanceSignal |
touchEnded |
InstanceSignal |
anchored |
boolean |
angularVelocity |
Vector3 |
canQuery |
boolean |
canTouch |
boolean |
collides |
boolean |
collisionGroup |
string |
color |
Color |
density |
number |
elasticity |
number |
emission |
Color |
emissionMap |
string |
emissionStrength |
number |
friction |
number |
locked |
boolean |
massless |
boolean |
metallic |
number |
metallicMap |
string |
networkOwner |
string |
normalMap |
string |
occlusionMap |
string |
roughness |
number |
roughnessMap |
string |
shading |
"flat" | "pbr" |
shape |
"block" | "ball" | "cylinder" | "wedge" | "cornerWedge" |
size |
Vector3 |
textureOffset |
Vector3 |
transparency |
number |
velocity |
Vector3 |
castShadow |
boolean |
studsPerTile |
number |
texture |
string |
Methods:
overlapping(options: QueryOptions?): { Instance }closestPoint(position: Vector3): Vector3contains(position: Vector3): booleanbounds(): (CFrame, Vector3)worldBounds(): (Vector3, Vector3)applyImpulse(impulse: Vector3): ()(server)applyImpulseAtPosition(impulse: Vector3, position: Vector3): ()(server)applyAngularImpulse(impulse: Vector3): ()(server)setVelocity(velocity: Vector3): ()(server)setAngularVelocity(velocity: Vector3): ()(server)getVelocityAtPosition(position: Vector3): Vector3(server)getMass(): numbersetNetworkOwner(owner: (Player | Character)?): ()(server)setNetworkOwnershipAuto(): ()(server)isNetworkOwnershipAuto(): booleancanSetNetworkOwnership(): (boolean, string?)getNetworkOwner(): Player?
Character#
Extends Spatial
| Property | Type |
|---|---|
animate |
boolean |
attackLeft |
boolean |
attackTime |
number |
bedYaw |
number |
chargeProgress |
number |
collisionGroup |
string |
crawling |
boolean |
crouching |
boolean |
deathTime |
number |
flying |
boolean |
flyingTime |
number |
flyingYaw |
number |
frozen |
boolean |
height |
number |
hurt |
boolean |
inWater |
boolean |
leftArmPose |
"empty" | "item" | "block" | "bow" | "trident" | "crossbowCharge" | "crossbowHold" | "spyglass" | "horn" | "brush" | "spear" |
leftItem |
string |
lookPitch |
number |
lookYaw |
number |
mainLeft |
boolean |
moveDistance |
number |
moveSpeed |
number |
radius |
number |
riding |
boolean |
rightArmPose |
"empty" | "item" | "block" | "bow" | "trident" | "crossbowCharge" | "crossbowHold" | "spyglass" | "horn" | "brush" | "spear" |
rightItem |
string |
scale |
number |
sleeping |
boolean |
speedValue |
number |
spinning |
boolean |
swimAmount |
number |
team |
Instance? |
upsideDown |
boolean |
useLeftHand |
boolean |
usingItem |
boolean |
velocity |
Vector3 |
whiteFlash |
number |
leftItemOverride |
string |
rightItemOverride |
string |
humanoid |
Humanoid |
animator |
Animator |
viewModel |
ViewModel |
backpack |
Backpack |
appearance |
Appearance |
armour |
Armour |
wings |
Wings |
joints |
CharacterJoints |
root |
Attachment |
hitbox |
Part |
head |
BodyLimb |
torso |
BodyLimb |
rightArm |
BodyLimb |
leftArm |
BodyLimb |
rightLeg |
BodyLimb |
leftLeg |
BodyLimb |
spinInner |
Limb |
spinOuter |
Limb |
rightWing |
Limb |
leftWing |
Limb |
Methods:
distanceTo(other: Instance): numberdistanceSqTo(other: Instance): numbercanSee(other: Instance, range: number?): booleanisGrounded(): booleanisInWater(): booleanisMoving(): booleanapplyImpulse(change: Vector3): ()setVelocity(velocity: Vector3): ()lookDirection(): Vector3facing(other: Instance, maxAngle: number?): booleanwalkTo(point: Vector3, options: PathOptions?): booleanwalkAlong(path: Path): booleanfollow(target: Instance, distance: number?, options: PathOptions?): ()stopWalking(): ()isWalking(): booleanjump(): ()lookAt(point: Vector3): ()face(direction: Vector3): ()
Camera#
Extends Spatial
| Property | Type |
|---|---|
distance |
number |
fov |
number |
mode |
"firstPerson" | "thirdPerson" | "scriptable" |
offset |
Vector3 |
subject |
Instance? |
Methods:
shake(trauma: number): ()kick(pitch: number, yaw: number, roll: number, seconds: number): ()fovPunch(degrees: number, seconds: number): ()clearEffects(): ()worldToScreen(world: Vector3): Vector3?screenToRay(x: number, y: number): (Vector3, Vector3)play(path: CameraPath, info: CameraPlayInfo?): CameraPlayback
CameraPlayInfo is { duration: number?, easing: string?, direction: string?, restore: boolean? }.
CameraPlayback#
| Property | Type |
|---|---|
finished |
AnySignal |
progress |
number |
playing |
boolean |
Methods:
stop(): ()
CameraPath#
Extends Spatial
| Property | Type |
|---|---|
closed |
boolean |
direction |
"in" | "out" | "inOut" |
duration |
number |
easing |
"linear" | "sine" | "quad" | "cubic" | "quart" | "quint" | "expo" | "circ" | "back" | "elastic" | "bounce" |
faceAlong |
boolean |
lookAt |
Instance? |
looped |
boolean |
Timeline#
Extends Instance
| Property | Type |
|---|---|
ended |
InstanceSignal |
didLoop |
InstanceSignal |
reached |
StringSignal |
length |
number |
looped |
boolean |
markers |
string |
playing |
boolean |
speed |
number |
timePosition |
number |
Methods:
play(): ()pause(): ()stop(): ()addKey(target: Instance | string, property: string, time: number, value: any, shape: string?): PropertyTracksetKeys(target: Instance | string, property: string, keys: { TimelineKey }): PropertyTrackaddMarker(time: number, name: string): ()at(time: number, callback: () -> ()): ()
PropertyTrack#
Extends Instance
| Property | Type |
|---|---|
direction |
"in" | "out" | "inOut" |
easing |
"linear" | "sine" | "quad" | "cubic" | "quart" | "quint" | "expo" | "circ" | "back" | "elastic" | "bounce" |
interpolation |
"constant" | "linear" | "cubic" |
keys |
string |
loopWrap |
boolean |
path |
string |
property |
string |
target |
Instance? |
Methods:
getKeys(): { TimelineKey }
SpawnLocation#
Extends Part
| Property | Type |
|---|---|
allowTeamChangeOnTouch |
boolean |
enabled |
boolean |
neutral |
boolean |
teamColor |
Color |
Seat#
Extends Part
| Property | Type |
|---|---|
disabled |
boolean |
occupant |
Instance? (read-only) |
Methods:
sit(humanoid: Humanoid): boolean(server)
VehicleSeat#
Extends Seat
| Property | Type |
|---|---|
maxSpeed |
number |
steer |
number (read-only) |
throttle |
number (read-only) |
torque |
number |
turnSpeed |
number |
Window#
Extends Instance
| Property | Type |
|---|---|
alwaysOnTop |
boolean |
camera |
Instance? |
clickThrough |
boolean |
clickable |
Instance? |
decorated |
boolean |
focused |
boolean |
gui |
Instance? |
height |
number |
mirror |
boolean |
opacity |
number |
resizable |
boolean |
title |
string |
transparent |
boolean |
visible |
boolean |
width |
number |
x |
number |
y |
number |
closing |
InstanceSignal |
moved |
InstanceSignal |
resized |
InstanceSignal |
Methods:
close(): ()preventClose(): ()focus(): ()moveTo(x: number, y: number): ()resize(width: number, height: number): ()center(): ()
Animator#
Extends Instance
| Property | Type |
|---|---|
animationPlayed |
InstanceSignal |
Methods:
loadAnimation(animation: Instance): AnimationTrackgetPlayingAnimationTracks(): { AnimationTrack }
AnimationTrack#
Extends Instance
| Property | Type |
|---|---|
stopped |
InstanceSignal |
ended |
InstanceSignal |
didLoop |
InstanceSignal |
keyframeReached |
StringSignal |
animation |
Instance? |
fadeTime |
number |
length |
number |
looped |
boolean |
playing |
boolean |
priority |
number |
speed |
number |
timePosition |
number |
weight |
number |
blend |
"normal" | "additive" |
mask |
string |
Methods:
play(fadeTime: number?, weight: number?, speed: number?): ()stop(fadeTime: number?): ()adjustSpeed(speed: number): ()adjustWeight(weight: number, fadeTime: number?): ()getMarkerReachedSignal(name: string): MarkerSignal
timePosition and length are not replicated.
Animation#
Extends Instance
| Property | Type |
|---|---|
animationId |
string |
AnimationController#
Extends Instance
IKControl#
Extends Instance
| Property | Type |
|---|---|
axis |
Vector3 |
chainRoot |
Instance? |
enabled |
boolean |
endEffector |
Instance? |
offset |
CFrame |
pole |
Instance? |
priority |
number |
rootWeight |
number |
smoothTime |
number |
target |
Instance? |
targetCframe |
CFrame |
type |
"aim" | "lookAt" | "position" | "transform" |
weight |
number |
JointSpring#
Extends Instance
| Property | Type |
|---|---|
axis |
Vector3 |
damping |
number |
enabled |
boolean |
gravity |
Vector3 |
joint |
Instance? |
length |
number |
maxAngle |
number |
stiffness |
number |
weight |
number |
ViewModel#
Extends Spatial
| Property | Type |
|---|---|
enabled |
boolean |
fieldOfView |
number |
model |
string |
animator |
Animator |
joints |
{ [string]: Bone } |
Methods:
isActive(): boolean
KeyframeSequence#
Extends Instance
| Property | Type |
|---|---|
looped |
boolean |
priority |
number |
blend |
"normal" | "additive" |
mask |
string |
space |
"body" | "view" |
Keyframe#
Extends Instance
| Property | Type |
|---|---|
time |
number |
Pose#
Extends Instance
| Property | Type |
|---|---|
cframe |
CFrame |
direction |
"in" | "out" | "inOut" |
easing |
"linear" | "sine" | "quad" | "cubic" | "quart" | "quint" | "expo" | "circ" | "back" | "elastic" | "bounce" |
weight |
number |
KeyframeMarker#
Extends Instance
| Property | Type |
|---|---|
value |
string |
Appearance#
Extends Instance
| Property | Type |
|---|---|
display |
"hitbox" | "model" | "hidden" |
ears |
boolean |
firstPerson |
"arm" | "hand" | "body" | "none" |
skin |
string |
slim |
boolean |
Armour#
Extends Instance
| Property | Type |
|---|---|
chest |
string |
feet |
string |
hat |
string |
hatLayered |
boolean |
head |
string |
legs |
string |
Attachment#
Extends Spatial
Bone#
Extends Attachment
| Property | Type |
|---|---|
scale |
Vector3 |
transform |
CFrame |
Limb#
Extends Part
| Property | Type |
|---|---|
touched |
InstanceSignal |
touchEnded |
InstanceSignal |
cutout |
boolean |
mirrored |
boolean |
sheet |
string |
sheetHeight |
number |
sheetWidth |
number |
swing |
number |
swingPhase |
number |
swingSideways |
boolean |
texels |
Vector3 |
u |
number |
v |
number |
MeshPart#
Extends Part
| Property | Type |
|---|---|
touched |
InstanceSignal |
touchEnded |
InstanceSignal |
animation |
string |
animationLooped |
boolean |
animationSpeed |
number |
lightingShader |
string |
meshId |
string |
shader |
string |
vertexShader |
string |
MaterialOverride#
Extends Instance
| Property | Type |
|---|---|
color |
Color |
doubleSided |
boolean |
dithered |
boolean |
emission |
Color |
emissionMap |
string |
emissionStrength |
number |
filter |
"default" | "nearest" | "linear" |
material |
string |
metallic |
number |
metallicMap |
string |
normalMap |
string |
occlusionMap |
string |
offsetU |
number |
offsetV |
number |
repeatU |
number |
repeatV |
number |
roughness |
number |
roughnessMap |
string |
texture |
string |
transparency |
number |
SpecialMesh#
Extends Instance
| Property | Type |
|---|---|
meshId |
string |
meshType |
"brick" | "sphere" | "cylinder" | "wedge" | "head" | "fileMesh" |
offset |
Vector3 |
scale |
Vector3 |
textureId |
string |
vertexColor |
Color |
PostEffect#
Extends Instance
| Property | Type |
|---|---|
enabled |
boolean |
ScreenEffect#
Extends PostEffect
| Property | Type |
|---|---|
coversInterface |
boolean |
intensity |
number |
order |
number |
BloomEffect#
Extends PostEffect
| Property | Type |
|---|---|
intensity |
number |
knee |
number |
occlude |
boolean |
resolution |
number |
size |
number |
threshold |
number |
ColorGradeEffect#
Extends PostEffect
| Property | Type |
|---|---|
brightness |
number |
contrast |
number |
exposure |
number |
gamma |
number |
lut |
string |
lutIntensity |
number |
lutSize |
number |
saturation |
number |
temperature |
number |
tint |
number |
AmbientOcclusionEffect#
Extends PostEffect
| Property | Type |
|---|---|
bias |
number |
intensity |
number |
power |
number |
radius |
number |
resolution |
number |
temporal |
boolean |
GlobalIlluminationEffect#
Extends PostEffect
| Property | Type |
|---|---|
history |
number |
intensity |
number |
radius |
number |
resolution |
number |
ReflectionEffect#
Extends PostEffect
| Property | Type |
|---|---|
edgeFade |
number |
intensity |
number |
maxDistance |
number |
reflectivity |
number |
resolution |
number |
steps |
number |
temporal |
boolean |
thickness |
number |
AntiAliasingEffect#
Extends PostEffect
| Property | Type |
|---|---|
clip |
number |
history |
number |
sharpness |
number |
VolumetricEffect#
Extends PostEffect
| Property | Type |
|---|---|
anisotropy |
number |
density |
number |
resolution |
number |
shadows |
boolean |
steps |
number |
strength |
number |
ContactShadowEffect#
Extends PostEffect
| Property | Type |
|---|---|
distance |
number |
steps |
number |
thickness |
number |
ShadowQuality#
Extends PostEffect
| Property | Type |
|---|---|
contactHardening |
boolean |
entities |
boolean |
lightSize |
number |
maxDistance |
number |
reduction |
number (read-only) |
resolution |
number |
softness |
number |
sunCascades |
number |
sunDistance |
number |
sunResolution |
number |
timeBudget |
number |
VignetteEffect#
Extends ScreenEffect
| Property | Type |
|---|---|
color |
Color |
radius |
number |
softness |
number |
ChromaticAberrationEffect#
Extends ScreenEffect
| Property | Type |
|---|---|
amount |
number |
FilmGrainEffect#
Extends ScreenEffect
| Property | Type |
|---|---|
amount |
number |
size |
number |
BlurEffect#
Extends ScreenEffect
| Property | Type |
|---|---|
size |
number |
DepthOfFieldEffect#
Extends ScreenEffect
| Property | Type |
|---|---|
falloff |
number |
focusDistance |
number |
focusRange |
number |
size |
number |
MotionBlurEffect#
Extends ScreenEffect
| Property | Type |
|---|---|
samples |
number |
strength |
number |
PixelateEffect#
Extends ScreenEffect
| Property | Type |
|---|---|
pixelSize |
number |
PosterizeEffect#
Extends ScreenEffect
| Property | Type |
|---|---|
levels |
number |
SharpenEffect#
Extends ScreenEffect
| Property | Type |
|---|---|
amount |
number |
FogEffect#
Extends ScreenEffect
| Property | Type |
|---|---|
baseHeight |
number |
color |
Color |
density |
number |
heightFalloff |
number |
sky |
boolean |
start |
number |
OutlineEffect#
Extends ScreenEffect
| Property | Type |
|---|---|
color |
Color |
thickness |
number |
threshold |
number |
TonemapEffect#
Extends ScreenEffect
| Property | Type |
|---|---|
exposure |
number |
tonemapper |
"aces" | "agx" | "reinhard" | "uncharted" | "none" |
PostShader#
Extends ScreenEffect
| Property | Type |
|---|---|
shader |
string |
Zone#
Extends Spatial
| Property | Type |
|---|---|
entered |
InstanceSignal |
left |
InstanceSignal |
cooldown |
number |
enabled |
boolean |
priority |
number |
shape |
"box" | "sphere" | "cylinder" | "polygon" |
size |
Vector3 |
soundId |
string |
textChannel |
Instance? |
trackClass |
string |
trackPlayers |
boolean |
trackTag |
string |
volume |
number |
Methods:
players(): { Character }occupants(): { Instance }contains(position: Vector3): boolean
ProximityPrompt#
Extends Instance
| Property | Type |
|---|---|
shown |
InstanceSignal |
holdBegan |
InstanceSignal |
hidden |
InstanceSignal |
holdEnded |
InstanceSignal |
triggered |
InstanceSignal |
actionText |
string |
backgroundColor |
Color |
backgroundTransparency |
number |
enabled |
boolean |
holdDuration |
number |
keyColor |
Color |
keys |
string |
maxActivationDistance |
number |
objectText |
string |
offset |
Vector3 |
requiresLineOfSight |
boolean |
textColor |
Color |
Light#
Extends Spatial
| Property | Type |
|---|---|
brightness |
number |
color |
Color |
enabled |
boolean |
falloff |
"smooth" | "linear" | "inverseSquare" | "exponent" |
falloffExponent |
number |
godrays |
number |
range |
number |
shader |
string |
shadowStrength |
number |
shadows |
boolean |
temperature |
number |
PointLight#
Extends Light
SpotLight#
Extends Light
| Property | Type |
|---|---|
innerAngle |
number |
outerAngle |
number |
AreaLight#
Extends Light
| Property | Type |
|---|---|
height |
number |
shape |
"rectangle" | "disc" |
width |
number |
TubeLight#
Extends Light
| Property | Type |
|---|---|
length |
number |
Lighting#
Extends Instance
| Property | Type |
|---|---|
ambient |
Color |
bakedOcclusion |
number |
brightness |
number |
clockTime |
number |
environmentDiffuseScale |
number |
environmentSpecularScale |
number |
exposureCompensation |
number |
geographicLatitude |
number |
globalShadows |
boolean |
outdoorAmbient |
Color |
rain |
number |
shadowSoftness |
number |
thunder |
number |
timeScale |
number |
blockShadowDistance |
number |
dayCycle |
boolean |
shadowBias |
number |
shadowFade |
number |
shadowNormalBias |
number |
shadowStrength |
number |
Methods:
getMinutesAfterMidnight(): numbersetMinutesAfterMidnight(minutes: number): ()getSunDirection(): Vector3getMoonDirection(): Vector3getPresetNames(): { PresetName }applyPreset(name: PresetName, seconds: number?): ()
Sky#
Extends Instance
| Property | Type |
|---|---|
celestialBodiesShown |
boolean |
hdri |
string |
moonAngularSize |
number |
moonTextureId |
string |
skyboxBk |
string |
skyboxDn |
string |
skyboxFt |
string |
skyboxLf |
string |
skyboxOrientation |
Vector3 |
skyboxRt |
string |
skyboxUp |
string |
starCount |
number |
sunAngularSize |
number |
sunTextureId |
string |
Atmosphere#
Extends Instance
| Property | Type |
|---|---|
color |
Color |
decay |
Color |
density |
number |
glare |
number |
haze |
number |
offset |
number |
Clouds#
Extends Instance
| Property | Type |
|---|---|
color |
Color |
cover |
number |
density |
number |
enabled |
boolean |
Weather#
Extends Instance
| Property | Type |
|---|---|
struck |
StrikeSignal |
intensity |
number |
kind |
"clear" | "rain" | "snow" | "storm" | "fog" |
strikePosition |
Vector3 |
strikes |
number |
transition |
number |
wind |
Vector3 |
Methods:
strike(position: Vector3?): ()
MultiMesh#
Extends Spatial
| Property | Type |
|---|---|
castShadow |
boolean |
dithered |
boolean |
drawDistance |
number |
fadeDistance |
number |
lightingShader |
string |
meshId |
string |
metallic |
number |
roughness |
number |
shader |
string |
shading |
"flat" | "pbr" |
shape |
"block" | "ball" | "cylinder" | "wedge" | "card" |
texture |
string |
vertexShader |
string |
Methods:
setCopies(data: buffer, first: number?): ()setArray(name: string, data: buffer): ()
Cape#
Extends Limb
| Property | Type |
|---|---|
touched |
InstanceSignal |
touchEnded |
InstanceSignal |
flap |
number |
lean |
number |
sway |
number |
Humanoid#
Extends Instance
| Property | Type |
|---|---|
died |
InstanceSignal |
healthChanged |
InstanceSignal |
stateChanged |
InstanceSignal |
arrived |
InstanceSignal |
running |
NumberSignal |
jumping |
BoolSignal |
freeFalling |
BoolSignal |
swimming |
NumberSignal |
climbing |
NumberSignal |
seated |
BoolSignal |
platformStanding |
BoolSignal |
damaged |
NumberSignal |
airAcceleration |
number |
airDrag |
number |
airSpeed |
number |
autoRotate |
boolean |
coyoteTime |
number |
fallDrag |
number |
floorMaterial |
string |
followSlopes |
boolean |
gravityScale |
number |
groundAcceleration |
number |
groundDeceleration |
number |
health |
number |
healthRegen |
number |
jump |
boolean |
jumpBuffer |
number |
jumpPower |
number |
maxHealth |
number |
moveDirection |
Vector3 |
platformStand |
boolean |
sit |
boolean |
slideAcceleration |
number |
slopeLimit |
number |
sneakMultiplier |
number |
sprintMultiplier |
number |
state |
"standing" | "running" | "jumping" | "falling" | "swimming" | "flying" | "seated" | "climbing" | "platformStanding" | "dead" |
stepHeight |
number |
walkRadius |
number |
walkSpeed |
number |
walkTo |
Vector3 |
walking |
boolean |
Methods:
move(direction: Vector3, relativeToCamera: boolean?): ()(server)moveTo(point: Vector3): ()(server)takeDamage(amount: number): ()(server)changeState(state: "standing" | "running" | "jumping" | "falling" | "swimming" | "flying" | "seated" | "climbing" | "platformStanding" | "dead"): ()(server)getState(): "standing" | "running" | "jumping" | "falling" | "swimming" | "flying" | "seated" | "climbing" | "platformStanding" | "dead"setStateEnabled(state: "standing" | "running" | "jumping" | "falling" | "swimming" | "flying" | "seated" | "climbing" | "platformStanding" | "dead", enabled: boolean): ()(server)getStateEnabled(state: "standing" | "running" | "jumping" | "falling" | "swimming" | "flying" | "seated" | "climbing" | "platformStanding" | "dead"): booleanequipTool(tool: Tool): ()(server)unequipTools(): ()(server)applyDescription(description: { [string]: any }): ()(server)getAppliedDescription(): { [string]: any }
Wings#
Extends Instance
| Property | Type |
|---|---|
skin |
string |
worn |
boolean |
x |
number |
y |
number |
z |
number |
Value#
Extends Instance
NumberValue#
Extends Value
| Property | Type |
|---|---|
value |
number |
StringValue#
Extends Value
| Property | Type |
|---|---|
value |
string |
BoolValue#
Extends Value
| Property | Type |
|---|---|
value |
boolean |
Vector3Value#
Extends Value
| Property | Type |
|---|---|
value |
Vector3 |
ColorValue#
Extends Value
| Property | Type |
|---|---|
value |
Color |
ObjectValue#
Extends Value
| Property | Type |
|---|---|
value |
Instance? |
Remote#
Extends Instance
| Property | Type |
|---|---|
onServer |
RemoteServerSignal |
onServerPlayer |
RemotePlayerSignal |
onClient |
AnySignal |
accepts |
string |
UnreliableRemote#
Extends Remote
| Property | Type |
|---|---|
onServer |
RemoteServerSignal |
onClient |
AnySignal |
RemoteFunction#
Extends Instance
| Property | Type |
|---|---|
accepts |
string |
timeout |
number |
onServerInvoke |
((player: Player, ...any) -> ...any)? |
onClientInvoke |
((...any) -> ...any)? |
Methods:
invokeServer(...any): ...any(client)invokeClient(player: Player, ...any): ...any(server)
ScreenGui#
Extends Instance
| Property | Type |
|---|---|
designScaling |
"fit" | "fitWidth" | "fitHeight" | "expand" |
designSize |
Vector3 |
displayOrder |
number |
enabled |
boolean |
font |
string |
BillboardGui#
Extends Instance
| Property | Type |
|---|---|
adornee |
Instance? |
alwaysOnTop |
boolean |
enabled |
boolean |
font |
string |
maxDistance |
number |
offset |
Vector3 |
pixelsPerMetre |
number |
size |
UDim2 |
SurfaceGui#
Extends Instance
| Property | Type |
|---|---|
adornee |
Instance? |
alwaysOnTop |
boolean |
enabled |
boolean |
face |
"front" | "back" | "left" | "right" | "top" | "bottom" |
font |
string |
maxDistance |
number |
pixelsPerMetre |
number |
GuiObject#
Extends Instance
| Property | Type |
|---|---|
absolutePosition |
Vector3 (read-only) |
absoluteSize |
Vector3 (read-only) |
anchorX |
number |
anchorY |
number |
automaticSize |
"none" | "x" | "y" | "xy" |
backgroundColor |
Color |
backgroundTransparency |
number |
borderColor |
Color |
borderSize |
number |
clipsDescendants |
boolean |
cornerRadius |
number |
layoutOrder |
number |
mouseButton1Down |
PointerSignal |
mouseButton1Up |
PointerSignal |
mouseButton2Click |
PointerSignal |
mouseEnter |
InstanceSignal |
mouseLeave |
InstanceSignal |
mouseMoved |
PointerSignal |
mouseWheelBackward |
PointerSignal |
mouseWheelForward |
PointerSignal |
position |
UDim2 |
rotation |
number |
size |
UDim2 |
visible |
boolean |
zIndex |
number |
Frame#
Extends GuiObject
TextLabel#
Extends GuiObject
| Property | Type |
|---|---|
font |
string |
maxVisibleGraphemes |
number |
richText |
boolean |
text |
string |
textBounds |
Vector3 (read-only) |
textColor |
Color |
textScaled |
boolean |
textShadow |
boolean |
textSize |
number |
textTransparency |
number |
textWrapped |
boolean |
textXAlignment |
"left" | "center" | "right" |
textYAlignment |
"top" | "center" | "bottom" |
TextButton#
Extends TextLabel
| Property | Type |
|---|---|
activated |
InstanceSignal |
autoButtonColor |
boolean |
hovered |
boolean |
pressed |
boolean |
TextBox#
Extends TextLabel
| Property | Type |
|---|---|
clearTextOnFocus |
boolean |
cursorPosition |
number |
focused |
AnySignal |
focusLost |
FocusLostSignal |
multiLine |
boolean |
placeholderColor |
Color |
placeholderText |
string |
selectionStart |
number |
textEditable |
boolean |
Methods:
captureFocus(): ()releaseFocus(): ()isFocused(): boolean
ImageLabel#
Extends GuiObject
| Property | Type |
|---|---|
blendMode |
"normal" | "additive" |
flipX |
boolean |
flipY |
boolean |
image |
string |
imageColor |
Color |
imageRectOffset |
Vector3 |
imageRectSize |
Vector3 |
imageTransparency |
number |
resampleMode |
"default" | "pixelated" |
scaleType |
"stretch" | "fit" | "crop" | "tile" | "slice" |
sliceMax |
Vector3 |
sliceMin |
Vector3 |
sliceScale |
number |
tileOffset |
Vector3 |
tileSize |
UDim2 |
ImageButton#
Extends ImageLabel
| Property | Type |
|---|---|
activated |
InstanceSignal |
autoButtonColor |
boolean |
hovered |
boolean |
hoverImage |
string |
pressed |
boolean |
pressedImage |
string |
Slider#
Extends GuiObject
| Property | Type |
|---|---|
dragEnded |
NumberSignal |
dragging |
boolean |
fillColor |
Color |
fillDirection |
"vertical" | "horizontal" |
fillImage |
string |
fillTransparency |
number |
grabberColor |
Color |
grabberImage |
string |
grabberSize |
Vector3 |
hovered |
boolean |
maxValue |
number |
minValue |
number |
step |
number |
value |
number |
valueChanged |
NumberSignal |
CheckBox#
Extends GuiObject
| Property | Type |
|---|---|
autoButtonColor |
boolean |
checkColor |
Color |
checked |
boolean |
checkedImage |
string |
hovered |
boolean |
pressed |
boolean |
toggled |
BoolSignal |
uncheckedImage |
string |
VideoFrame#
Extends GuiObject
| Property | Type |
|---|---|
played |
InstanceSignal |
paused |
InstanceSignal |
ended |
InstanceSignal |
didLoop |
InstanceSignal |
loaded |
InstanceSignal |
flipX |
boolean |
flipY |
boolean |
isLoaded |
boolean (read-only) |
looped |
boolean |
playing |
boolean |
resolution |
Vector3 (read-only) |
timeLength |
number (read-only) |
timePosition |
number |
video |
string |
videoColor |
Color |
videoTransparency |
number |
volume |
number |
Methods:
play(): ()pause(): ()
ScrollingFrame#
Extends GuiObject
| Property | Type |
|---|---|
absoluteCanvasSize |
Vector3 (read-only) |
absoluteWindowSize |
Vector3 (read-only) |
automaticCanvasSize |
"none" | "x" | "y" | "xy" |
canvasPosition |
Vector3 |
canvasSize |
UDim2 |
scrollBarImageColor |
Color |
scrollBarImageTransparency |
number |
scrollBarThickness |
number |
scrollingDirection |
"x" | "y" | "xy" |
scrollingEnabled |
boolean |
CanvasGroup#
Extends GuiObject
| Property | Type |
|---|---|
groupColor |
Color |
groupTransparency |
number |
UIComponent#
Extends Instance
UILayout#
Extends UIComponent
| Property | Type |
|---|---|
fillDirection |
"vertical" | "horizontal" |
horizontalAlignment |
"left" | "center" | "right" |
sortOrder |
"layoutOrder" | "name" |
verticalAlignment |
"top" | "center" | "bottom" |
UIListLayout#
Extends UILayout
| Property | Type |
|---|---|
padding |
UDim2 |
wraps |
boolean |
UIGridLayout#
Extends UILayout
| Property | Type |
|---|---|
cellPadding |
UDim2 |
cellSize |
UDim2 |
fillDirectionMaxCells |
number |
startCorner |
"topLeft" | "topRight" | "bottomLeft" | "bottomRight" |
UIPadding#
Extends UIComponent
| Property | Type |
|---|---|
paddingBottom |
UDim2 |
paddingLeft |
UDim2 |
paddingRight |
UDim2 |
paddingTop |
UDim2 |
UIAspectRatioConstraint#
Extends UIComponent
| Property | Type |
|---|---|
aspectRatio |
number |
aspectType |
"fitWithinMaxSize" | "scaleWithParentSize" |
dominantAxis |
"width" | "height" |
UISizeConstraint#
Extends UIComponent
| Property | Type |
|---|---|
maxSize |
Vector3 |
minSize |
Vector3 |
UIScale#
Extends UIComponent
| Property | Type |
|---|---|
scale |
number |
UIStroke#
Extends UIComponent
| Property | Type |
|---|---|
applyStrokeMode |
"contextual" | "border" |
color |
Color |
enabled |
boolean |
thickness |
number |
transparency |
number |
UIGradient#
Extends UIComponent
| Property | Type |
|---|---|
enabled |
boolean |
endColor |
Color |
endTransparency |
number |
keypoints |
string |
offset |
Vector3 |
rotation |
number |
startColor |
Color |
startTransparency |
number |
Methods:
setKeypoints(keypoints: { GradientKeypoint }): ()getKeypoints(): { GradientKeypoint }
UICorner#
Extends UIComponent
| Property | Type |
|---|---|
cornerRadius |
UDim2 |
ViewportFrame#
Extends GuiObject
| Property | Type |
|---|---|
ambient |
Color |
camera |
Instance? |
flipX |
boolean |
flipY |
boolean |
imageColor |
Color |
imageTransparency |
number |
lightColor |
Color |
lightDirection |
Vector3 |
resolutionScale |
number |
updateRate |
number |
Methods:
screenRay(x: number, y: number): (Vector3, Vector3)pick(x: number, y: number, range: number?): (Instance?, Vector3?)
Sound#
Extends Instance
| Property | Type |
|---|---|
ended |
InstanceSignal |
loaded |
InstanceSignal |
played |
InstanceSignal |
bus |
string |
event |
string |
fadeIn |
number |
isLoaded |
boolean (read-only) |
looped |
boolean |
maxDistance |
number |
minDistance |
number |
paused |
boolean |
pitch |
number |
playbackLoudness |
number (read-only) |
playing |
boolean |
plays |
number |
priority |
number |
rollOff |
number |
soundId |
string |
stream |
boolean |
timeLength |
number (read-only) |
timePosition |
number |
volume |
number |
Methods:
play(): ()stop(): ()pause(): ()resume(): ()
SoundBus#
Extends Instance
| Property | Type |
|---|---|
bus |
string |
lowPass |
number |
muted |
boolean |
volume |
number |
SoundEffect#
Extends Instance
| Property | Type |
|---|---|
enabled |
boolean |
priority |
number |
ReverbSoundEffect#
Extends SoundEffect
| Property | Type |
|---|---|
decayTime |
number |
density |
number |
diffusion |
number |
dryLevel |
number |
wetLevel |
number |
EqualizerSoundEffect#
Extends SoundEffect
| Property | Type |
|---|---|
highGain |
number |
lowGain |
number |
midGain |
number |
midHigh |
number |
midLow |
number |
DistortionSoundEffect#
Extends SoundEffect
| Property | Type |
|---|---|
level |
number |
EchoSoundEffect#
Extends SoundEffect
| Property | Type |
|---|---|
delay |
number |
dryLevel |
number |
feedback |
number |
wetLevel |
number |
PitchShiftSoundEffect#
Extends SoundEffect
| Property | Type |
|---|---|
octave |
number |
CompressorSoundEffect#
Extends SoundEffect
| Property | Type |
|---|---|
attack |
number |
makeupGain |
number |
ratio |
number |
release |
number |
threshold |
number |
ChorusSoundEffect#
Extends SoundEffect
| Property | Type |
|---|---|
depth |
number |
mix |
number |
rate |
number |
FlangeSoundEffect#
Extends SoundEffect
| Property | Type |
|---|---|
depth |
number |
mix |
number |
rate |
number |
TremoloSoundEffect#
Extends SoundEffect
| Property | Type |
|---|---|
depth |
number |
duty |
number |
frequency |
number |
Script#
Extends Instance
| Property | Type |
|---|---|
code |
string |
enabled |
boolean |
source |
string |
LocalScript#
Extends Instance
| Property | Type |
|---|---|
code |
string |
enabled |
boolean |
source |
string |
ModuleScript#
Extends Instance
| Property | Type |
|---|---|
code |
string |
source |
string |
InputAction#
Extends Instance
| Property | Type |
|---|---|
began |
InstanceSignal |
ended |
InstanceSignal |
enabled |
boolean |
keys |
string |
ClickDetector#
Extends Instance
| Property | Type |
|---|---|
mouseClick |
PlayerSignal |
rightMouseClick |
PlayerSignal |
mouseHoverEnter |
PlayerSignal |
mouseHoverLeave |
PlayerSignal |
cursorIcon |
string |
maxActivationDistance |
number |
CollisionGroup#
Extends Instance
| Property | Type |
|---|---|
ignores |
string |
ChatWindow#
Extends Instance
| Property | Type |
|---|---|
anchorX |
number |
anchorY |
number |
animationTime |
number |
backdrop |
"always" | "focused" | "never" |
backgroundColor |
Color |
backgroundTransparency |
number |
cornerRadius |
number |
easing |
"linear" | "sine" | "quad" | "cubic" | "quart" | "quint" | "expo" | "circ" | "back" | "elastic" | "bounce" |
enabled |
boolean |
enterAnimation |
"none" | "fade" | "slideLeft" | "slideRight" | "slideUp" | "slideDown" | "pop" | "typewriter" |
exitAnimation |
"none" | "fade" | "slideLeft" | "slideRight" | "slideUp" | "slideDown" | "pop" | "typewriter" |
fadeTime |
number |
font |
string |
hideAnimation |
"none" | "fade" | "slideLeft" | "slideRight" | "slideUp" | "slideDown" | "pop" | "typewriter" |
horizontalAlignment |
"left" | "center" | "right" |
lineBackgroundColor |
Color |
lineBackgroundTransparency |
number |
lineCornerRadius |
number |
lineFitsText |
boolean |
lineGap |
number |
linePaddingX |
number |
linePaddingY |
number |
maxMessages |
number |
padding |
number |
position |
UDim2 |
prefixColor |
Color |
shader |
string |
size |
UDim2 |
textColor |
Color |
textShadow |
boolean |
textSize |
number |
textStrokeColor |
Color |
textStrokeTransparency |
number |
timestampColor |
Color |
timestampFormat |
string |
timestamps |
boolean |
verticalAlignment |
"top" | "center" | "bottom" |
visible |
boolean |
visibleTime |
number |
ChatCommand#
Extends Instance
| Property | Type |
|---|---|
invoked |
ChatCommandSignal |
triggers |
string |
BubbleChat#
Extends Instance
| Property | Type |
|---|---|
alwaysOnTop |
boolean |
animation |
"none" | "fade" | "slideLeft" | "slideRight" | "slideUp" | "slideDown" | "pop" | "typewriter" |
animationTime |
number |
backgroundColor |
Color |
backgroundTransparency |
number |
cornerRadius |
number |
enabled |
boolean |
font |
string |
maxBubbles |
number |
maxDistance |
number |
maxWidth |
number |
offset |
Vector3 |
padding |
number |
pixelsPerMetre |
number |
tail |
boolean |
textColor |
Color |
textSize |
number |
visibleTime |
number |
TextChannel#
Extends Instance
| Property | Type |
|---|---|
shouldDeliver |
((...any) -> ...any)? |
shouldSend |
((...any) -> ...any)? |
onIncoming |
((...any) -> ...any)? |
messageReceived |
ChatMessageSignal |
autoJoin |
boolean |
color |
Color |
displayName |
string |
maxLength |
number |
slowMode |
number |
richText |
string |
TextSource#
Extends Instance
| Property | Type |
|---|---|
body |
Instance? |
canSend |
boolean |
player |
string |
richText |
string |
ChatInputBar#
Extends Instance
| Property | Type |
|---|---|
autocomplete |
boolean |
backgroundColor |
Color |
backgroundTransparency |
number |
enabled |
boolean |
maxLength |
number |
placeholder |
string |
placeholderColor |
Color |
targetChannel |
Instance? |
textColor |
Color |
ChatTabs#
Extends Instance
| Property | Type |
|---|---|
backgroundColor |
Color |
enabled |
boolean |
selectedColor |
Color |
textColor |
Color |
unreadColor |
Color |
ChatTextShader#
Extends Instance
| Property | Type |
|---|---|
shader |
string |
Joint#
Extends Instance
| Property | Type |
|---|---|
c0 |
CFrame |
c1 |
CFrame |
part0 |
Instance? |
part1 |
Instance? |
scale |
Vector3 |
transform |
CFrame |
Motor#
Extends Joint
Model#
Extends Spatial
| Property | Type |
|---|---|
primaryPart |
Instance? |
scale |
number |
Methods:
getBoundingBox(): (CFrame, Vector3)getScale(): numberscaleTo(scale: number): ()
ForceField#
Extends Instance
| Property | Type |
|---|---|
visible |
boolean |
PathfindingModifier#
Extends Instance
| Property | Type |
|---|---|
label |
string |
passThrough |
boolean |
PathfindingLink#
Extends Instance
| Property | Type |
|---|---|
attachment0 |
Instance? |
attachment1 |
Instance? |
bidirectional |
boolean |
label |
string |
Tool#
Extends Instance
| Property | Type |
|---|---|
activated |
InstanceSignal |
deactivated |
InstanceSignal |
equipped |
InstanceSignal |
unequipped |
InstanceSignal |
canBeDropped |
boolean |
enabled |
boolean |
grip |
CFrame |
item |
string |
manualActivationOnly |
boolean |
requiresHandle |
boolean |
toolTip |
string |
Methods:
activate(): ()deactivate(): ()
A part named Handle inside the tool is held in the right hand. See Tools.
Team#
Extends Instance
| Property | Type |
|---|---|
playerAdded |
PlayerSignal (server) |
playerRemoved |
PlayerSignal (server) |
autoAssignable |
boolean |
teamColor |
Color |
Methods:
getPlayers(): { Player }
On a client getPlayers answers with the local player alone, and only while they are on the team.
See Teams.
Leaderboard#
Extends Instance
Made by the engine at the root of the world, and holds one Leaderstats per player. Sent to every
player whatever the streaming radius, and out of the world: not drawn, not found by queries, not
saved into a scene. See Leaderstats.
Leaderstats#
Extends Instance
| Property | Type |
|---|---|
owner |
string |
Named after the player, and reached as player.leaderstats. The Value children are what the Tab
list shows.
ReplicatedStorage#
Extends Instance
Sent to players. Scripts inside do not run and parts inside are not in the world. See Containers.
ServerStorage#
Extends Instance
Never sent to players. Scripts inside do not run and parts inside are not in the world.
ServerScriptService#
Extends Instance
Never sent to players. Scripts inside run; parts inside are not in the world.
StarterGui#
Extends Instance
A container for guis. Everything inside it draws and runs as it would anywhere else.
StarterPlayerScripts#
Extends Instance
A container for LocalScripts. Everything inside it runs as it would anywhere else.
StarterCharacterScripts#
Extends Instance
Its children are copied into each new body a player gets. The originals do not run.
Backpack#
Extends Instance
Every body has one, named backpack. The tools inside it are carried, and out of the world.
StarterPack#
Extends Instance
The tools inside every StarterPack are copied into each new body a player gets. They are out of
the world themselves, and their scripts do not run.
WeldConstraint#
Extends Instance
| Property | Type |
|---|---|
active |
boolean |
enabled |
boolean |
part0 |
Instance? |
part1 |
Instance? |
Constraint#
Extends Instance
| Property | Type |
|---|---|
active |
boolean |
attachment0 |
Instance? |
attachment1 |
Instance? |
collideConnected |
boolean |
color |
Color |
enabled |
boolean |
visible |
boolean |
HingeConstraint#
Extends Constraint
| Property | Type |
|---|---|
actuatorType |
"none" | "motor" | "servo" |
angularSpeed |
number |
angularVelocity |
number |
currentAngle |
number |
limitsEnabled |
boolean |
lowerAngle |
number |
motorMaxTorque |
number |
servoMaxTorque |
number |
targetAngle |
number |
upperAngle |
number |
PrismaticConstraint#
Extends Constraint
| Property | Type |
|---|---|
actuatorType |
"none" | "motor" | "servo" |
currentPosition |
number |
limitsEnabled |
boolean |
lowerLimit |
number |
motorMaxForce |
number |
servoMaxForce |
number |
speed |
number |
targetPosition |
number |
upperLimit |
number |
velocity |
number |
BallSocketConstraint#
Extends Constraint
| Property | Type |
|---|---|
limitsEnabled |
boolean |
twistLimitsEnabled |
boolean |
twistLowerAngle |
number |
twistUpperAngle |
number |
upperAngle |
number |
RopeConstraint#
Extends Constraint
| Property | Type |
|---|---|
currentDistance |
number |
length |
number |
mesh |
string |
meshLength |
number |
meshTwist |
number |
restitution |
number |
thickness |
number |
winchEnabled |
boolean |
winchForce |
number |
winchResponsiveness |
number |
winchSpeed |
number |
winchTarget |
number |
SpringConstraint#
Extends Constraint
| Property | Type |
|---|---|
coils |
number |
currentLength |
number |
damping |
number |
freeLength |
number |
limitsEnabled |
boolean |
maxLength |
number |
minLength |
number |
radius |
number |
stiffness |
number |
thickness |
number |
RodConstraint#
Extends Constraint
| Property | Type |
|---|---|
currentDistance |
number |
length |
number |
thickness |
number |
AlignPosition#
Extends Constraint
| Property | Type |
|---|---|
applyAtCenterOfMass |
boolean |
maxForce |
number |
maxVelocity |
number |
mode |
"oneAttachment" | "twoAttachment" |
position |
Vector3 |
reactionForceEnabled |
boolean |
responsiveness |
number |
rigidityEnabled |
boolean |
AlignOrientation#
Extends Constraint
| Property | Type |
|---|---|
cframe |
CFrame |
maxAngularVelocity |
number |
maxTorque |
number |
mode |
"oneAttachment" | "twoAttachment" |
primaryAxisOnly |
boolean |
reactionTorqueEnabled |
boolean |
responsiveness |
number |
rigidityEnabled |
boolean |
LinearVelocity#
Extends Constraint
| Property | Type |
|---|---|
forceLimitsEnabled |
boolean |
lineDirection |
Vector3 |
lineVelocity |
number |
maxForce |
number |
planeVelocity |
Vector3 |
primaryTangentAxis |
Vector3 |
reactionForceEnabled |
boolean |
relativeTo |
"world" | "attachment0" | "attachment1" |
secondaryTangentAxis |
Vector3 |
vectorVelocity |
Vector3 |
velocityConstraintMode |
"vector" | "line" | "plane" |
AngularVelocity#
Extends Constraint
| Property | Type |
|---|---|
angularVelocity |
Vector3 |
maxTorque |
number |
reactionTorqueEnabled |
boolean |
relativeTo |
"world" | "attachment0" | "attachment1" |
VectorForce#
Extends Constraint
| Property | Type |
|---|---|
applyAtCenterOfMass |
boolean |
force |
Vector3 |
relativeTo |
"world" | "attachment0" | "attachment1" |
Torque#
Extends Constraint
| Property | Type |
|---|---|
relativeTo |
"world" | "attachment0" | "attachment1" |
torque |
Vector3 |
ParticleEmitter#
Extends Instance
| Property | Type |
|---|---|
acceleration |
Vector3 |
brightness |
number |
colorEnd |
Color |
colorStart |
Color |
drag |
number |
emissionDirection |
"front" | "back" | "left" | "right" | "top" | "bottom" |
emitted |
number |
enabled |
boolean |
lifetimeMax |
number |
lifetimeMin |
number |
lightEmission |
number |
lightInfluence |
number |
lockedToPart |
boolean |
orientation |
"facingCamera" | "facingCameraWorldUp" | "velocityParallel" | "velocityPerpendicular" |
rate |
number |
rotSpeedMax |
number |
rotSpeedMin |
number |
rotationMax |
number |
rotationMin |
number |
shapeStyle |
"volume" | "surface" |
sizeEnd |
number |
sizeStart |
number |
speedMax |
number |
speedMin |
number |
spreadAngle |
number |
texture |
string |
timeScale |
number |
transparencyEnd |
number |
transparencyStart |
number |
Methods:
emit(count: number?): ()
Beam#
Extends Instance
| Property | Type |
|---|---|
attachment0 |
Instance? |
attachment1 |
Instance? |
brightness |
number |
colorEnd |
Color |
colorStart |
Color |
curveSize0 |
number |
curveSize1 |
number |
enabled |
boolean |
faceCamera |
boolean |
lightEmission |
number |
lightInfluence |
number |
segments |
number |
texture |
string |
textureLength |
number |
textureMode |
"stretch" | "wrap" | "static" |
textureSpeed |
number |
transparencyEnd |
number |
transparencyStart |
number |
width0 |
number |
width1 |
number |
Trail#
Extends Instance
| Property | Type |
|---|---|
attachment0 |
Instance? |
attachment1 |
Instance? |
brightness |
number |
clears |
number |
colorEnd |
Color |
colorStart |
Color |
enabled |
boolean |
faceCamera |
boolean |
lifetime |
number |
lightEmission |
number |
lightInfluence |
number |
maxLength |
number |
minLength |
number |
texture |
string |
textureLength |
number |
textureMode |
"stretch" | "wrap" | "static" |
transparencyEnd |
number |
transparencyStart |
number |
widthScaleEnd |
number |
widthScaleStart |
number |
Methods:
clear(): ()
Highlight#
Extends Instance
| Property | Type |
|---|---|
adornee |
Instance? |
depthMode |
"alwaysOnTop" | "occluded" |
enabled |
boolean |
fillColor |
Color |
fillTransparency |
number |
outlineColor |
Color |
outlineTransparency |
number |
Decal#
Extends Instance
| Property | Type |
|---|---|
color |
Color |
face |
"front" | "back" | "left" | "right" | "top" | "bottom" |
texture |
string |
transparency |
number |
zIndex |
number |
Explosion#
Extends Instance
| Property | Type |
|---|---|
hit |
ExplosionSignal |
blastPressure |
number |
blastRadius |
number |
destroyJointRadiusPercent |
number |
explosionType |
"noCraters" | "craters" |
position |
Vector3 |
visible |
boolean |
Texture#
Extends Decal
| Property | Type |
|---|---|
offsetStudsU |
number |
offsetStudsV |
number |
studsPerTileU |
number |
studsPerTileV |
number |
Fire#
Extends Instance
| Property | Type |
|---|---|
color |
Color |
enabled |
boolean |
heat |
number |
secondaryColor |
Color |
size |
number |
timeScale |
number |
Smoke#
Extends Instance
| Property | Type |
|---|---|
color |
Color |
enabled |
boolean |
opacity |
number |
riseVelocity |
number |
size |
number |
timeScale |
number |
Sparkles#
Extends Instance
| Property | Type |
|---|---|
enabled |
boolean |
sparkleColor |
Color |
timeScale |
number |
SelectionBox#
Extends Instance
| Property | Type |
|---|---|
adornee |
Instance? |
color |
Color |
lineThickness |
number |
surfaceColor |
Color |
surfaceTransparency |
number |
transparency |
number |
visible |
boolean |
SelectionSphere#
Extends Instance
| Property | Type |
|---|---|
adornee |
Instance? |
color |
Color |
surfaceColor |
Color |
surfaceTransparency |
number |
transparency |
number |
visible |
boolean |
Actor#
Extends Model
Methods:
sendMessage(topic: string, ...: any): ()bindToMessage(topic: string, handler: (...any) -> ()): ConnectionbindToMessageParallel(topic: string, handler: (...any) -> ()): Connection
Scripts inside an actor run in a VM of their own. See Parallel Luau.
CharacterJoints#
Extends Folder
| Property | Type |
|---|---|
root |
Motor |
cape |
Motor |
spinInner |
Motor |
spinOuter |
Motor |
rightWing |
Motor |
leftWing |
Motor |
head |
Motor |
torso |
Motor |
rightArm |
Motor |
leftArm |
Motor |
rightLeg |
Motor |
leftLeg |
Motor |
BodyLimb#
Extends Limb
| Property | Type |
|---|---|
overlay |
Limb |
Blocks#
| Property | Type |
|---|---|
changed |
BlocksChangedSignal |
Methods:
get(at: Vector3): stringset(at: Vector3, block: string): ()fill(from: Vector3, to: Vector3, block: string): numberraycast(from: Vector3, direction: Vector3, range: number?, options: { fluids: boolean? }?): (string?, Vector3?, number?, Vector3?)isSolid(at: Vector3): booleanisAir(at: Vector3): booleanisFluid(at: Vector3): booleanlightAt(at: Vector3): numbertopAt(x: number, z: number): numbertopsIn(from: Vector3, to: Vector3, only: { string }?): (buffer, buffer, { string })find(block: string, centre: Vector3, radius: number, limit: number?): { Vector3 }count(block: string, from: Vector3, to: Vector3): numberreplace(from: string, to: string, a: Vector3, b: Vector3): numbersphere(centre: Vector3, radius: number, block: string, hollow: boolean?): numbercylinder(base: Vector3, radius: number, height: number, block: string, hollow: boolean?): numberline(from: Vector3, to: Vector3, block: string): numberhollowBox(from: Vector3, to: Vector3, block: string): numbercopy(from: Vector3, to: Vector3): BlockRegionpaste(region: BlockRegion, at: Vector3, options: { rotate: number?, mirror: ("x" | "z")?, skipAir: boolean? }?): numbergetState(at: Vector3): (string, { [string]: string | number | boolean })setState(at: Vector3, block: string, state: { [string]: string | number | boolean }?): ()withState(block: string, state: { [string]: string | number | boolean }): stringread(from: Vector3, to: Vector3): ({ string }, buffer)write(from: Vector3, to: Vector3, palette: { string }, cells: buffer): numberdecode(data: buffer): BlockRegion
Tags#
Methods:
tagged(tag: string): { Instance }added(tag: string): InstanceSignalremoved(tag: string): InstanceSignal
ChatCommandSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (body: Character?, text: string, args: { string }) -> ()): ConnectionconnectParallel(handler: (body: Character?, text: string, args: { string }) -> ()): Connectiononce(handler: (body: Character?, text: string, args: { string }) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (body: Character?, text: string, args: { string }) -> ()): Connection
ChatMessageSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (message: ChatMessage) -> ()): ConnectionconnectParallel(handler: (message: ChatMessage) -> ()): Connectiononce(handler: (message: ChatMessage) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (message: ChatMessage) -> ()): Connection
Chat#
| Property | Type |
|---|---|
onBubble |
((message: ChatMessage) -> (boolean | { [string]: any })?)? |
onIncoming |
((message: ChatMessage) -> { [string]: any }?)? |
shouldSend |
((message: ChatMessage) -> boolean?)? |
messageReceived |
ChatMessageSignal |
sending |
ChatMessageSignal |
edited |
ChatMessageSignal |
deleted |
AnySignal |
linkClicked |
AnySignal |
bodyClicked |
AnySignal |
messageClicked |
ChatMessageSignal |
opened |
AnySignal |
closed |
AnySignal |
typing |
AnySignal |
Methods:
send(channelOrText: Instance | string, textOrOptions: (string | { [string]: any })?, options: { [string]: any }?): numbersystem(text: string, options: { [string]: any }?): numberedit(id: number, changes: string | { [string]: any }): ()delete(id: number): ()addPlayer(channel: Instance, body: Instance): ()removePlayer(channel: Instance, body: Instance): ()open(prefill: string?): ()close(): ()isOpen(): booleanclear(): ()setTarget(channel: Instance?): ()getTarget(): Instance?messages(): { ChatMessage }bubble(target: Instance, text: string, look: { [string]: any }?): ()function escape(text: string): stringfunction plain(text: string): stringfunction bodyLink(body: Instance, label: string?): stringfunction itemLink(id: string, count: number?): stringfunction within(range: number): ChatCheckfunction all(...: ChatCheck): ChatCheckfunction any(...: ChatCheck): ChatCheckfunction distance(message: ChatMessage, source: Instance): number?function audible(range: number): ChatCheckfunction sameTag(tag: string): ChatCheck
History#
Methods:
now(): numberviewTime(body: Instance): numberrewind(time: number, query: () -> ...any): ...anyfunction rewind<T...>(self, time: number, query: () -> T...): T...
ProximityWatcher#
| Property | Type |
|---|---|
entered |
AnySignal |
left |
AnySignal |
near |
boolean |
Methods:
stop(): ()
Proximity#
Methods:
closestInteractable(body: Instance): (Instance?, number?)watch(a: Instance, b: Instance, range: number): ProximityWatcherfunction falloff(distance: number, min: number, max: number, rolloff: number?): number
Pathfinding#
Methods:
find(from: Vector3, to: Vector3, options: PathOptions?): { Vector3 }?isReachable(from: Vector3, to: Vector3, options: PathOptions?): booleanrandomPointNear(point: Vector3, radius: number, options: PathOptions?): Vector3?create(options: PathOptions?): Path
BlockRegion#
| Property | Type |
|---|---|
size |
Vector3 |
Methods:
palette(): { string }count(): numberrotate(quarterTurns: number): BlockRegionmirror(axis: "x" | "z"): BlockRegionencode(): buffer
BlocksChangedSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (from: Vector3, to: Vector3, count: number) -> ()): ConnectionconnectParallel(handler: (from: Vector3, to: Vector3, count: number) -> ()): Connectiononce(handler: (from: Vector3, to: Vector3, count: number) -> ()): Connectionevery(n: number, handler: (from: Vector3, to: Vector3, count: number) -> ()): Connectionwait(timeout: number?): ...any
Path#
| Property | Type |
|---|---|
status |
PathStatus |
blocked |
PathBlockedSignal |
unblocked |
PathBlockedSignal |
Methods:
compute(from: Vector3, to: Vector3): PathStatuswaypoints(): { PathWaypoint }checkOcclusion(start: number?): number
PathBlockedSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (index: number) -> ()): Connectiononce(handler: (index: number) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (index: number) -> ()): ConnectionconnectParallel(handler: (index: number) -> ()): Connection
Debug#
Methods:
drawLine(from: Vector3, to: Vector3, color: Color?, seconds: number?): ()drawRay(from: Vector3, direction: Vector3, color: Color?, seconds: number?): ()drawBox(frame: CFrame, size: Vector3, color: Color?, seconds: number?): ()drawSphere(centre: Vector3, radius: number, color: Color?, seconds: number?): ()drawPoint(at: Vector3, color: Color?, seconds: number?): ()label(at: Vector3, text: string, color: Color?, seconds: number?): ()watch(name: string, value: any): ()clear(): ()queryStats(): { queries: number, partsTested: number }profile(): { [string]: { milliseconds: number, calls: number, worst: number } }passTimes(): { [string]: { cpu: number, gpu: number?, stage: string } }showPassTimes(shown: boolean?): ()
Zones#
Methods:
at(position: Vector3): { Instance }
Debris#
Methods:
addItem(instance: Instance, seconds: number?): ()
Game#
| Property | Type |
|---|---|
world |
Instance |
zones |
Zones |
proximity |
Proximity |
path |
Pathfinding |
debug |
Debug |
history |
History |
players |
Players |
tags |
Tags |
chat |
Chat |
blocks |
Blocks |
debris |
Debris |
isServer |
boolean |
isClient |
boolean |
isStudio |
boolean |
renderPriority |
{ first: number, input: number, camera: number, character: number, last: number } |
stepped |
StepSignal |
renderStepped |
StepSignal |
reloaded |
AnySignal |
persist |
{ [string]: any } |
gravity |
number (set on the server) |
pauseRequested |
PauseSignal (client) |
paused |
boolean (client) |
exported |
boolean (client) |
loading |
Loading |
serverId |
string (server) |
placeId |
string (server) |
gameId |
string (server) |
reservedCode |
string? (server) |
Methods:
bindToClose(handler: () -> ()): ()teleport(players: { Player }, target: string | ReservedServer | { server: string }, data: any?): ()(server)
Methods (client):
quit(): ()openSettings(): ()bindToRenderStep(name: string, priority: number, handler: (delta: number) -> ()): ()unbindFromRenderStep(name: string): ()
Settings#
| Property | Type |
|---|---|
fov |
number |
fullscreen |
boolean |
vsync |
boolean |
maxFps |
number |
guiScale |
number |
renderDistance |
number |
sensitivity |
number |
Methods:
volume(category: string): numbersetVolume(category: string, value: number): ()volumes(): { string }actions(): { string }keyOf(action: string): stringbind(action: string, key: string): ()save(): ()
LoadingFailedSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (reason: string, kind: LoadingFailure) -> ()): ConnectionconnectParallel(handler: (reason: string, kind: LoadingFailure) -> ()): Connectiononce(handler: (reason: string, kind: LoadingFailure) -> ()): Connectionevery(n: number, handler: (reason: string, kind: LoadingFailure) -> ()): Connectionwait(timeout: number?): ...any
Loading#
| Property | Type |
|---|---|
phase |
LoadingPhase |
progress |
number |
message |
string |
server |
string |
hold |
boolean |
changed |
AnySignal |
ready |
AnySignal |
failed |
LoadingFailedSignal |
Methods:
finish(): ()retry(): ()quit(): ()openDownload(): ()
WindowSizeSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (width: number, height: number) -> ()): ConnectionconnectParallel(handler: (width: number, height: number) -> ()): Connectiononce(handler: (width: number, height: number) -> ()): Connectionevery(n: number, handler: (width: number, height: number) -> ()): Connectionwait(timeout: number?): ...any
WindowFocusSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (focused: boolean) -> ()): ConnectionconnectParallel(handler: (focused: boolean) -> ()): Connectiononce(handler: (focused: boolean) -> ()): Connectionevery(n: number, handler: (focused: boolean) -> ()): Connectionwait(timeout: number?): ...any
MainWindow#
| Property | Type |
|---|---|
title |
string |
icon |
string |
fullscreen |
boolean |
width |
number |
height |
number |
x |
number |
y |
number |
canMove |
boolean |
minWidth |
number |
minHeight |
number |
resizable |
boolean |
focused |
boolean |
minimized |
boolean |
visible |
boolean |
opacity |
number |
cursor |
string |
cursorHotspot |
Vector3 |
cursorVisible |
boolean |
fps |
number |
displayWidth |
number |
displayHeight |
number |
resized |
WindowSizeSignal |
moved |
WindowSizeSignal |
focusChanged |
WindowFocusSignal |
closing |
AnySignal |
Methods:
open(properties: { [string]: any }?): Window(called with a dot)overlay(properties: { [string]: any }?): Window(called with a dot)resize(width: number, height: number): ()moveTo(x: number, y: number): ()center(): ()monitors(): { { [string]: any } }flash(): ()setClipboard(text: string): ()preventClose(): ()screenshot(name: string?): string
Input#
| Property | Type |
|---|---|
mouseX |
number |
mouseY |
number |
mouseDeltaX |
number |
mouseDeltaY |
number |
screenWidth |
number |
screenHeight |
number |
mouseLocked |
boolean |
sensitivity |
number |
inputBegan |
InputSignal |
inputChanged |
InputSignal |
inputEnded |
InputSignal |
gamepadConnected |
GamepadSignal |
gamepadDisconnected |
GamepadSignal |
mouseBehavior |
MouseBehavior |
mouseIconEnabled |
boolean |
Methods:
down(action: string): booleanlockMouse(): ()releaseMouse(): ()isKeyDown(key: string): booleanisMouseButtonPressed(button: string | number): booleangetKeysPressed(): { InputObject }keyName(key: string): stringgetConnectedGamepads(): { number }getGamepadState(gamepad: number?): GamepadState?bindAction(name: string, handler: ActionHandler, ...string): ()bindActionAtPriority(name: string, handler: ActionHandler, priority: number, ...string): ()unbindAction(name: string): ()getBoundActions(): { string }
InputObject#
| Property | Type |
|---|---|
inputType |
string |
keyCode |
string |
state |
InputState |
position |
Vector3 |
delta |
Vector3 |
GamepadState#
| Property | Type |
|---|---|
gamepad |
number |
leftStick |
Vector3 |
rightStick |
Vector3 |
leftTrigger |
number |
rightTrigger |
number |
buttons |
{ [string]: boolean } |
InputSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (input: InputObject, gameProcessed: boolean) -> ()): ConnectionconnectParallel(handler: (input: InputObject, gameProcessed: boolean) -> ()): Connectiononce(handler: (input: InputObject, gameProcessed: boolean) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (input: InputObject, gameProcessed: boolean) -> ()): Connection
GamepadSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (gamepad: number) -> ()): ConnectionconnectParallel(handler: (gamepad: number) -> ()): Connectiononce(handler: (gamepad: number) -> ()): Connectionwait(timeout: number?): ...anyevery(n: number, handler: (gamepad: number) -> ()): Connection
Voice#
Methods:
stop(): ()setVolume(volume: number): ()setPitch(pitch: number): ()fade(volume: number, seconds: number): ()fadeOut(seconds: number): ()setPosition(at: Vector3): ()isPlaying(): boolean
Music#
Methods:
setState(name: string, seconds: number?): ()transitionTo(name: string, seconds: number?, quantize: string?): ()setLayer(layer: number, volume: number): ()blend(intensity: number): ()stop(seconds: number?): ()
StoreSession#
| Property | Type |
|---|---|
data |
{ [string]: any } |
Methods:
save(): ()release(): ()
Store#
Methods:
get(key: string | number): anyset(key: string | number, value: any): ()remove(key: string | number): ()update(key: string | number, change: (old: any) -> any): anykeys(prefix: string?, limit: number?): { string }session(key: string | number): StoreSession
OrderedStore#
Methods:
get(key: string | number): number?set(key: string | number, value: number): ()increment(key: string | number, delta: number?): numberremove(key: string | number): ()getSorted(ascending: boolean, limit: number?, min: number?, max: number?): { { key: string, value: number } }
MemoryStore#
The memory global. Server only. See Memory stores.
Methods:
hashMap(name: string): MemoryHashMapsortedMap(name: string): MemorySortedMapqueue(name: string, invisibilityTimeout: number?): MemoryQueue
PauseSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (reason: string) -> ()): ConnectionconnectParallel(handler: (reason: string) -> ()): Connectiononce(handler: (reason: string) -> ()): Connectionevery(n: number, handler: (reason: string) -> ()): Connectionwait(timeout: number?): ...any
MemoryHashMap#
Methods:
get(key: string): any?set(key: string, value: any, expiration: number): booleanupdate(key: string, transform: (old: any?) -> any?, expiration: number): any?remove(key: string): ()list(pageSize: number?, after: string?): { string }
MemorySortedMap#
Methods:
get(key: string): (any?, (number | string)?)set(key: string, value: any, expiration: number, sortKey: (number | string)?): booleanupdate(key: string, transform: (value: any?, sortKey: (number | string)?) -> (any?, (number | string)?), expiration: number): (any?, (number | string)?)remove(key: string): ()getRange(direction: "ascending" | "descending", count: number, exclusiveLowerBound: { key: string?, sortKey: (number | string)? }?, exclusiveUpperBound: { key: string?, sortKey: (number | string)? }?): { { key: string, value: any, sortKey: (number | string)? } }getSize(): number
MemoryQueue#
Methods:
addAsync(value: any, expiration: number, priority: number?): ()readAsync(count: number, allOrNothing: boolean?, waitTimeout: number?): ({ any }, string?)(yields)removeAsync(id: string): ()getSize(excludeInvisible: boolean?): number
Http#
Functions:
get(url: string, headers: { [string]: string }?): HttpResponse(server)post(url: string, body: string, contentType: string?, headers: { [string]: string }?): HttpResponse(server)request(options: { url: string, method: string?, headers: { [string]: string }?, body: string? }): HttpResponse(server)jsonEncode(value: any): stringjsonDecode(text: string): anygenerateGuid(wrapInBraces: boolean?): stringurlEncode(text: string): string
HttpResponse#
| Property | Type |
|---|---|
status |
number |
ok |
boolean |
body |
string |
headers |
{ [string]: string } |
Files#
The files global. See Reading files.
Functions:
read(path: string): string?exists(path: string): boolean
Xml#
The xml global. See JSON and XML.
Functions:
decode(text: string): XmlElement
XmlElement#
| Property | Type |
|---|---|
tag |
string |
attributes |
{ [string]: string } |
children |
{ XmlElement } |
text |
string |
Messaging#
Methods:
publish(topic: string, message: any): ()subscribe(topic: string, handler: (message: any, from: string?) -> ()): Subscription
One board per side. See Talking across the boundary.
ReservedServer#
| Property | Type |
|---|---|
code |
string |
place |
string |
ServerInfo#
| Property | Type |
|---|---|
id |
string |
place |
string |
players |
number |
maxPlayers |
number |
tags |
{ string } |
Servers#
Methods:
reserve(place: string): ReservedServerlist(place: string, options: { tag: string?, limit: number? }?): { ServerInfo }setTags(tags: { string }): ()
The servers global, on the server only. See Servers and games.
Subscription#
Methods:
unsubscribe(): ()
SharedTables#
Functions:
new(data: { [any]: any }?): SharedTablenamed(name: string): SharedTablesize(table: SharedTable): numberclear(table: SharedTable): ()clone(table: SharedTable, deep: boolean?): SharedTablecloneAndFreeze(table: SharedTable, deep: boolean?): SharedTableisFrozen(table: SharedTable): booleanincrement(table: SharedTable, key: string | number, delta: number): numberupdate(table: SharedTable, key: string | number, fn: (value: any) -> any): ()
sharedTable(data) is sharedTable.new(data). See Shared tables.
CoreGui#
Functions:
setCoreGuiEnabled(name: string, on: boolean): ()(client)getCoreGuiEnabled(name: string): boolean(client)sendNotification(notification: Notification): ()(client)
name is health, hunger, hotbar, chat, playerList, crosshair, experience or all.
See The core interface.
PluginMouseSignal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (mouse: PluginMouse) -> ()): ConnectionconnectParallel(handler: (mouse: PluginMouse) -> ()): Connectiononce(handler: (mouse: PluginMouse) -> ()): Connectionevery(n: number, handler: (mouse: PluginMouse) -> ()): Connectionwait(timeout: number?): ...any
PluginToolbar#
| Property | Type |
|---|---|
name |
string |
Methods:
button(text: string, tooltip: string?, icon: string?): PluginButton
PluginButton#
| Property | Type |
|---|---|
text |
string |
tooltip |
string |
icon |
string |
active |
boolean |
enabled |
boolean |
click |
AnySignal |
PluginPanel#
| Property | Type |
|---|---|
title |
string |
visible |
boolean |
Methods:
onDraw(draw: (ui: PanelUi) -> ()): ()
PanelUi#
Methods:
text(text: string): ()muted(text: string): ()heading(text: string): ()button(label: string): booleaninput(label: string, value: string): stringnumber(label: string, value: number, step: number?): numberslider(label: string, value: number, min: number, max: number): numbercheckbox(label: string, value: boolean): booleancolor(label: string, value: Color): Colorchoice(label: string, value: string, options: { string }): stringseparator(): ()sameLine(): ()
PluginSelection#
| Property | Type |
|---|---|
changed |
AnySignal |
Methods:
get(): { Instance }set(instances: { Instance }): ()
Plugin#
| Property | Type |
|---|---|
name |
string |
selection |
PluginSelection |
viewportClicked |
PluginMouseSignal |
preview |
Instance |
active |
boolean |
Methods:
toolbar(name: string): PluginToolbarcommand(name: string, handler: () -> ()): ()command(name: string, shortcut: string?, handler: () -> ()): ()panel(title: string, options: PanelOptions?): PluginPanelrecording(name: string, changes: () -> ()): ()setting(key: string): anysetSetting(key: string, value: any): ()mouse(): PluginMouseactivate(on: boolean): ()
Os#
Functions:
time(): numberclock(): numberdate(format: string?, when: number?): stringdifftime(later: number, earlier: number): number
Signal#
| Property | Type |
|---|---|
count |
number |
Methods:
connect(handler: (...any) -> ()): ConnectionconnectParallel(handler: (...any) -> ()): Connectiononce(handler: (...any) -> ()): Connectionevery(n: number, handler: (...any) -> ()): Connectionwait(timeout: number?): ...anyfire(...any): ()disconnectAll(): ()
Java#
Methods:
function use(name: string): anyfunction class(name: string): anyfunction typeof(value: any): string?function instanceOf(value: any, className: string): boolean
JavaMethod#
| Property | Type |
|---|---|
name |
string |
Methods:
before(handler: (self: any, ...any) -> any, options: { when: ((...any) -> boolean)?, once: boolean?, limit: number?, priority: number?, raw: boolean?, ordinal: number? }?): Mixinafter(handler: (self: any, result: any, ...any) -> any, options: { when: ((...any) -> boolean)?, once: boolean?, limit: number?, priority: number?, raw: boolean?, ordinal: number? }?): Mixinreplace(handler: (original: (...any) -> any, self: any, ...any) -> any, options: { when: ((...any) -> boolean)?, once: boolean?, limit: number?, priority: number?, raw: boolean?, ordinal: number? }?): Mixinargs(handler: (...any) -> ...any, options: { when: ((...any) -> boolean)?, once: boolean?, limit: number?, priority: number?, raw: boolean?, ordinal: number? }?): Mixinredirect(call: JavaMethod, handler: (original: (...any) -> any, target: any, ...any) -> any, options: { when: ((...any) -> boolean)?, once: boolean?, limit: number?, priority: number?, raw: boolean?, ordinal: number? }?): Mixinconstant(value: number | string, replacement: any, options: { when: ((...any) -> boolean)?, once: boolean?, limit: number?, priority: number?, raw: boolean?, ordinal: number? }?): Mixinvariable(slot: string | number, replacement: any, options: { when: ((...any) -> boolean)?, once: boolean?, limit: number?, priority: number?, raw: boolean?, ordinal: number? }?): Mixinoverload(...string | number): JavaMethod- called:
Class.method(self, ...)orClass:staticMethod(...)
JavaField#
| Property | Type |
|---|---|
name |
string |
type |
string |
Methods:
changed(handler: (self: any, old: any, new: any) -> any, options: { when: ((...any) -> boolean)?, once: boolean?, limit: number?, priority: number?, raw: boolean?, ordinal: number? }?): Mixin
MixinService#
Methods:
function state(name: string | { [string]: any }, defaults: { [string]: any }?): MixinStatefunction hooks(): { Mixin }- called:
mixin "name" { ... }groups hooks and returns aMixinGroup
Mixin#
| Property | Type |
|---|---|
label |
string |
methods |
number |
calls |
number |
errors |
number |
enabled |
boolean |
Methods:
remove(): ()
MixinGroup#
| Property | Type |
|---|---|
name |
string |
enabled |
boolean |
hooks |
{ Mixin } |
Methods:
remove(): ()
MixinState#
Methods:
ref(key: string): MixinStateRef
MixinStateRef#
| Property | Type |
|---|---|
key |
string |
value |
any |
Shaders#
Methods:
function patch(targets: string | { string }, spec: { uniforms: { [string]: string }?, vertex: { [string]: any }?, fragment: { [string]: any }? }): ShaderPatch & { [string]: any }
ShaderPatch#
Methods:
remove(): ()
EditableMesh#
A mesh a script builds. See EditableMesh.
| Property | Type |
|---|---|
uri |
string |
Methods:
addVertex(position: Vector3): numbergetPosition(vertex: number): Vector3setPosition(vertex: number, position: Vector3): ()addNormal(normal: Vector3?): numbergetNormal(normal: number): Vector3setNormal(normal: number, value: Vector3): ()resetNormal(normal: number): ()addUV(uv: Vector3): numbergetUV(uv: number): Vector3setUV(uv: number, value: Vector3): ()addColor(color: Color, transparency: number?): numbergetColor(color: number): (Color, number)setColor(color: number, value: Color, transparency: number?): ()addTriangle(vertex1: number, vertex2: number, vertex3: number): numberremoveFace(face: number): ()getFaceVertices(face: number): { number }setFaceVertices(face: number, vertices: { number }): ()getFaceNormals(face: number): { number }setFaceNormals(face: number, normals: { number }): ()getFaceUVs(face: number): { number }setFaceUVs(face: number, uvs: { number }): ()getFaceColors(face: number): { number }setFaceColors(face: number, colors: { number }): ()getVertices(): { number }getFaces(): { number }getNormals(): { number }getUVs(): { number }getColors(): { number }getVertexFaces(vertex: number): { number }getAdjacentVertices(vertex: number): { number }getAdjacentFaces(face: number): { number }findClosestVertex(point: Vector3): number?findVerticesWithinSphere(center: Vector3, radius: number): { number }findClosestPointOnSurface(point: Vector3): (number?, Vector3?, Vector3?)raycast(origin: Vector3, direction: Vector3, range: number?): (number?, Vector3?, Vector3?)getSize(): Vector3getCenter(): Vector3removeUnused(): ()clear(): ()copy(): EditableMeshdestroy(): ()
Meshes#
The meshes global. See EditableMesh.
Functions:
create(): EditableMeshload(source: string): EditableMesh(client, yields)
EditableImage#
An image a script draws on. See Images.
| Property | Type |
|---|---|
width |
number |
height |
number |
uri |
string |
Methods:
setPixel(x: number, y: number, color: Color, transparency: number?): ()getPixel(x: number, y: number): (Color, number)fill(color: Color, transparency: number?): ()clear(): ()drawRectangle(x: number, y: number, width: number, height: number, color: Color, options: DrawOptions?): ()drawCircle(x: number, y: number, radius: number, color: Color, options: DrawOptions?): ()drawEllipse(x: number, y: number, radiusX: number, radiusY: number, color: Color, options: DrawOptions?): ()drawLine(x1: number, y1: number, x2: number, y2: number, color: Color, options: DrawOptions?): ()drawPolygon(points: { Vector3 } | { number }, color: Color, options: DrawOptions?): ()drawGradient(x: number, y: number, width: number, height: number, from: Color, to: Color, options: GradientOptions?): ()drawImage(image: EditableImage, x: number, y: number, options: ImageDrawOptions?): ()drawImageTransformed(image: EditableImage, x: number, y: number, options: TransformOptions?): ()drawImageProjected(mesh: EditableMesh, image: EditableImage, projection: Projection, options: ProjectOptions?): ()floodFill(x: number, y: number, color: Color, options: FillOptions?): numberdrawText(text: string, x: number, y: number, color: Color, options: TextOptions?): (number, number)(Minecraft's font, see Text)measureText(text: string, options: TextOptions?): (number, number)readPixels(x: number?, y: number?, width: number?, height: number?): { number }writePixels(x: number, y: number, width: number, height: number, pixels: { number }): ()readPixelsBuffer(x: number?, y: number?, width: number?, height: number?): bufferwritePixelsBuffer(x: number, y: number, width: number, height: number, pixels: buffer): ()resize(width: number, height: number, smooth: boolean?): ()crop(x: number, y: number, width: number, height: number): EditableImagecopy(): EditableImageflip(direction: "horizontal" | "vertical"): ()rotate(quarterTurns: number): ()destroy(): ()
Images#
The images global. See Images.
Functions:
create(width: number, height: number, color: Color?, transparency: number?): EditableImagefromPixels(width: number, height: number, pixels: { number }): EditableImageload(source: string): EditableImage(yields; Minecraft textures on the client only)skin(player: any, part: ("head" | "full")?): EditableImage(client, yields)preload(sources: string | { string }): ()(client, yields)isLoaded(source: string): boolean(client)measureText(text: string, options: TextOptions?): (number, number)(client, or a singleplayer server)
Types#
type TweenInfo = { time: number?, easing: string?, direction: string?, repeats: number?,
reverses: boolean?, delay: number? }
type RayHit = { part: Instance, position: Vector3, distance: number, normal: Vector3 }
type QueryOptions = { exclude: { Instance }?, include: { Instance }?, respectCollides: boolean?, collisionGroup: string?, tag: string?, className: string?, limit: number?, sorted: boolean?,
ignoreBlocks: boolean? }
type BlockCopy = { size: Vector3, palette: { string }, blocks: { number } }
type ChatMessage = { id: number, text: string, prefix: string, metadata: string, channel: Instance?, source: Instance?, body: Instance?, position: Vector3?, timestamp: number, status: string, [string]: any }
type ChatCheck = (message: ChatMessage, source: Instance) -> boolean
type PathOptions = { partial: boolean?, radius: number?, height: number?, canJump: boolean?,
canClimb: boolean?, spacing: number?, costs: { [string]: number }? }
type PathAction = "walk" | "jump" | "climb" | "custom"
type PathStatus = "success" | "closest" | "noPath" | "tooFar" | "notComputed"
type PathWaypoint = { position: Vector3, action: PathAction, label: string? }
type GradientKeypoint = { number | Color }
type TimelineKey = { any }
type SharedTable = { [string | number]: any }
type ActionHandler = (name: string, state: "begin" | "change" | "end" | "cancel", input: InputObject) -> ("sink" | "pass")?
type PlayOptions = { volume: number?, pitch: number?, looped: boolean?, bus: string?,
priority: number?, at: Vector3?, minDistance: number?, maxDistance: number?,
rollOff: number?, fadeIn: number?, stream: boolean? }
type Notification = { title: string, text: string?, icon: string?, duration: number?,
button1: string?, button2: string?, callback: ((button: string) -> ())? }
type ImageBlend = "over" | "replace" | "add" | "multiply" | "erase"
type DrawOptions = { transparency: number?, blend: ImageBlend?, smooth: boolean?, filled: boolean?,
thickness: number?, cornerRadius: number? }
type GradientOptions = { rotation: number?, fromTransparency: number?, toTransparency: number?,
blend: ImageBlend? }
type ImageDrawOptions = { width: number?, height: number?, sourceX: number?, sourceY: number?,
sourceWidth: number?, sourceHeight: number?, transparency: number?, blend: ImageBlend?,
smooth: boolean? }
type TransformOptions = { scaleX: number?, scaleY: number?, rotation: number?, pivotX: number?,
pivotY: number?, sourceX: number?, sourceY: number?, sourceWidth: number?,
sourceHeight: number?, transparency: number?, blend: ImageBlend?, smooth: boolean? }
type Projection = { position: Vector3, direction: Vector3, size: Vector3, up: Vector3? }
type ProjectOptions = { fadeAngle: number?, transparency: number?, blend: ImageBlend?,
smooth: boolean? }
type FillOptions = { tolerance: number?, transparency: number?, blend: ImageBlend? }
type TextAlign = "left" | "center" | "right"
type TextOptions = { size: number?, shadow: boolean?, align: TextAlign?, wrap: number?,
lineHeight: number?, transparency: number?, blend: ImageBlend?, bold: boolean?,
italic: boolean?, smooth: boolean? }
type PresetName = "clear day" | "golden hour" | "overcast" | "night" | "foggy dawn" | "snowfall" | "storm"
type InputState = "begin" | "change" | "end" | "cancel"
type MouseBehavior = "default" | "lockCenter" | "lockCurrentPosition"
type CameraPlayInfo = { duration: number?, easing: string?, direction: string?, restore: boolean? }
type LoadingPhase = "lookup" | "connecting" | "joining" | "world" | "ready"
type LoadingFailure = "connect" | "update" | "closed" | "disconnected"
type PluginMouse = { origin: Vector3, direction: Vector3, hit: Vector3?, normal: Vector3?, target: Instance?, over: boolean }
type PanelOptions = { width: number?, height: number?, dock: ("float" | "left" | "right" | "bottom")? }Globals#
declare game: Game
declare camera: Camera
declare window: MainWindow
declare settings: Settings
declare input: Input
declare ui: CoreGui -- client only
declare messaging: Messaging
declare sharedTable: SharedTables
declare audio: {
play: (soundId: string, options: PlayOptions?) -> Voice?,
playEvent: (name: string, at: Vector3?) -> Voice?,
stinger: (name: string, quantize: string?) -> Voice?,
defineEvent: (name: string, event: { sounds: { string }, bus: string?, volume: any?,
pitch: any?, looped: boolean? }) -> (),
tempo: (bpm: number, beatsPerBar: number?) -> (),
stopTempo: () -> (),
beats: () -> number,
beat: StepSignal,
bar: StepSignal,
setParameter: (name: string, value: number) -> (),
getParameter: (name: string) -> number,
bindBusVolume: (parameter: string, bus: string, curve: { { number } }) -> (),
setSwitch: (group: string, value: string) -> (),
getSwitch: (group: string) -> string?,
lfo: (parameter: string, shape: string, hertz: number, min: number, max: number) -> (),
snapshot: (volumes: { [string]: number }, seconds: number?) -> (),
clearSnapshot: (seconds: number?) -> (),
sidechain: (sourceBus: string, targetBus: string, amount: number) -> (),
reverb: (decaySeconds: number, wet: number) -> (),
hrtf: (enabled: boolean) -> (),
occlusion: (enabled: boolean) -> (),
music: (music: { layers: { string }, states: { [string]: { number } }?, bus: string? }) -> Music,
voiceChat: (settings: { enabled: boolean?, strength: number?, filters: { any }? }) -> (),
voiceCount: () -> number,
}
declare function require(module: string | Instance): any
declare script: Instance
declare function store(name: string): Store
declare function orderedStore(name: string): OrderedStore
declare http: Http
declare files: Files
declare xml: Xml
declare memory: MemoryStore -- server only
declare os: Os
declare scene: {
load: (path: string, parent: Instance?) -> { Instance },
save: (instances: any, path: string) -> (),
encode: (instances: any) -> string,
decode: (text: string, parent: Instance?) -> { Instance },
}
declare function clock(): number
declare cooldown: {
ready: (self: any, key: any, name: string, seconds: number) -> boolean,
remaining: (self: any, key: any, name: string) -> number,
reset: (self: any, key: any, name: string) -> (),
}
declare quat: {
identity: Quat,
axisAngle: (axis: Vector3, radians: number) -> Quat,
euler: (x: number, y: number, z: number) -> Quat,
lookAt: (forward: Vector3, up: Vector3?) -> Quat,
fromTo: (from: Vector3, to: Vector3) -> Quat,
}
declare angle: {
wrap: (a: number) -> number,
delta: (a: number, b: number) -> number,
lerp: (a: number, b: number, t: number) -> number,
}
declare random: {
range: (min: number, max: number) -> number,
int: (min: number, max: number) -> number,
chance: (probability: number) -> boolean,
pick: <T>(list: { T }) -> T?,
shuffle: <T>(list: { T }) -> { T },
unit: () -> Vector3,
onSphere: (radius: number) -> Vector3,
inSphere: (radius: number) -> Vector3,
inCircle: (radius: number) -> Vector3,
inBox: (size: Vector3) -> Vector3,
}
declare function vec3(x: number, y: number, z: number): Vector3
declare function color(r: number, g: number, b: number, a: number?): Color
declare udim2: {
fromScale: (x: number, y: number) -> UDim2,
fromOffset: (x: number, y: number) -> UDim2,
} & ((xScale: number, xOffset: number, yScale: number, yOffset: number) -> UDim2)
declare function udim(scale: number, offset: number): UDim2
declare cframe: {
identity: CFrame,
angles: (pitch: number, yaw: number, roll: number) -> CFrame,
lookAt: (from: Vector3, to: Vector3) -> CFrame,
} & ((x: number, y: number, z: number) -> CFrame)
& ((position: Vector3) -> CFrame)
& ((from: Vector3, to: Vector3) -> CFrame)
declare function signal(name: string?): Signal
declare java: Java
declare mixin: MixinService
declare shaders: Shaders -- client only
declare meshes: Meshes
declare images: Images
declare task: {
wait: (seconds: number?) -> number,
spawn: (handler: () -> ()) -> number,
delay: (seconds: number, handler: () -> ()) -> number,
defer: <A...>(handler: (A...) -> (), A...) -> number,
cancel: (handle: number) -> (),
every: (seconds: number, handler: () -> ()) -> { cancel: (self: any) -> () },
after: (seconds: number, handler: () -> ()) -> { cancel: (self: any) -> () },
debounce: <A...>(handler: (A...) -> (), seconds: number) -> (A...) -> (),
throttle: <A..., R...>(handler: (A...) -> R..., seconds: number) -> (A...) -> R...,
desynchronize: () -> (),
synchronize: () -> (),
}
declare math: typeof(math) & {
remap: (value: number, fromMin: number, fromMax: number, toMin: number, toMax: number) -> number,
lerp: (a: number, b: number, t: number) -> number,
inverseLerp: (a: number, b: number, value: number) -> number,
approach: (value: number, target: number, step: number) -> number,
smoothDamp: (current: number, target: number, velocity: number?, smoothTime: number, dt: number, maxSpeed: number?) -> (number, number),
fbm: (x: number, y: number?, z: number?, octaves: number?, lacunarity: number?, gain: number?) -> number,
bezier: (points: { any }, t: number) -> any,
catmullRom: (points: { any }, t: number) -> any,
}
declare function print(...: any): ()
declare servers: Servers