Skip to content

World

Functions that effect everything within the current world.

Functions

Function Name Usage Description Notes
RevertClientProperty world:RevertClientProperty(string propertyName) Revert a property that's been changed on the client back to the server's value for it Client Only
Raycast world:Raycast(Vector start, Vector end, Entity entityToIgnore, callback collisionCallback) Send a ray (line) from start position to end position, and call the collisionCallback with the entity that was hit and a HitResult structure if any Entity is hit along the way. Pass an entityToIgnore to tell it not to hit that one (for example ignore the player when doing a ray from a gun the player is holding).
Raycast world:Raycast(Vector start, Vector end, table entitiesToIgnoreTable, callback collisionCallback) Send a ray (line) from start position to end position, and call the collisionCallback with the entity that was hit and a HitResult structure if any Entity is hit along the way. Pass an array of entities to ignore.
Find Entity world:Find(string name) Find a named Entity within the world. Generally an entity type property which is filled in in the editor is a better option.
FindAll table world:FindAll() Return all entities in the world. Can be very slow.
FindAll table world:FindAll(table derivedType) Return all entities in the world of the given type (Light, Mesh, etc). Can be very slow.
FindAllScripts table world:FindAllScripts(string scriptName) Find all scripts named scriptName recursively in the world. Most often used where multiple scripts are used to simulate an array of structures.
FindAllScripts table world:FindAllScripts(ScriptAsset templateRefScript) Find all scripts matching the script asset recursively in the world. Most often used where multiple scripts are used to simulate an array of structures.
FindScript Script world:FindScript(string scriptName) Find any entity with a script named scriptName recursively in the world, returns the script if found.
FindScript Script world:FindScript(ScriptAsset templateRefScript) Find any entity with a script matching the script asset recursively in the world, returns the script if found.
FindTemplate Template world:FindTemplate(string name) Find a Template in the world by name. Returns nil if not found
GetLocalUser User world:GetLocalUser() Get the User that this client is owned by. Client Only
GetUsers table world:GetUsers() Get a table containing all the User entities within the current world. This works on the server or the client however the client version of the table might lag behind the server version.
ForEachUser world:ForEachUser(callback callback, ... args) Call the given callback for each User with the User as the argument
ApplyPointDamage world:ApplyPointDamage(number baseDamage, Vector rayStart, Vector direction, Entity fromEntity) Applies point damage to the first Entity that intersects the given ray. Server Only
ApplyPointDamage world:ApplyPointDamage(number baseDamage, Vector rayStart, Vector direction, Entity fromEntity, table damageModifiers) Applies point damage to the first Entity that intersects the given ray. DamageModifiers is a table of { voxel = <voxelasset>, damageMultiplier = <number> } tables, and/or scripts that have voxel and damageMultiplier properties: { name = "voxel", type = "voxelasset" } and { name = "damageMultiplier", type = "number" }. damageModifiers = { { voxel = <voxelasset>, damageMultiplier = <number> }, { voxel = <voxelasset>, damageMultiplier = <number> }, <script>, <script> } Server Only
ApplyRadialDamage world:ApplyRadialDamage(number baseDamage, Vector origin, number radius, number falloff, Entity fromEntity) Applies radial damage to all Entities within a radius of an origin. Server Only
ApplyRadialDamage world:ApplyRadialDamage(number baseDamage, Vector origin, number radius, number falloff, Entity fromEntity, table damageModifiers) Applies radial damage to all Entities within a radius of an origin. DamageModifiers is a table of { voxel = <voxelasset>, damageMultiplier = <number> } tables, and/or scripts that have voxel and damageMultiplier properties: { name = "voxel", type = "voxelasset" } and { name = "damageMultiplier", type = "number" }. damageModifiers = { { voxel = <voxelasset>, damageMultiplier = <number> }, { voxel = <voxelasset>, damageMultiplier = <number> }, <script>, <script> } Server Only
SetVoxelProperties world:SetVoxelProperties(table voxelPropertiesTable) Set the voxel properties of the world. VoxelProperties is a table of { voxel = <voxelasset>, health = <number>, healTime = <number> } tables, and/or scripts that have voxel, and optionally health and healTime properties: { name = "voxel", type = "voxelasset" }, { name = "health", type = "number", default = 100 }, { name = "healTime", type = "number", editor = "seconds", default = 3 }. voxelProperties = { { voxel = <voxelasset>, health = <number>, healTime = <number> }, { voxel = <voxelasset>, health = <number> }, { voxel = <voxelasset>, healTime = <number> }, <script>, <script> } Defaults are 100 for health, 3.0 for heal time.
SetVoxelProperties world:SetVoxelProperties(table voxelPropertiesTable, number defaultMaxHealth, number defaultHealTime) Set the voxel properties of the world. VoxelProperties is a table of { voxel = <voxelasset>, health = <number>, healTime = <number> } tables, and/or scripts that have voxel, and optionally health and healTime properties: { name = "voxel", type = "voxelasset" }, { name = "health", type = "number", default = 100 }, { name = "healTime", type = "number", editor = "seconds", default = 3 }. voxelProperties = { { voxel = <voxelasset>, health = <number>, healTime = <number> }, { voxel = <voxelasset>, health = <number> }, { voxel = <voxelasset>, healTime = <number> }, <script>, <script> } Defaults are 100 for health, 3.0 for heal time, these can be modified in this version of the function.
GetTimeOfDay number world:GetTimeOfDay() Get the time of day (see SetTimeOfTime for what the return value means)
Spawn Entity world:Spawn(Template templateAsset, Vector position, Rotation rotation) Spawn a new Entity from the template pointed at by templateAsset, at the given position and rotation. Server Only
Spawn Entity world:Spawn(Template templateAsset, Locator locatorEntity) Spawn a new Entity from the template pointed at by templateAsset, at the given locator's position and rotation. Server Only
BroadcastToScripts world:BroadcastToScripts(string eventName, ... args) Try calling eventName on all scripts of all Entities within the World. When called on the server it sends to server scripts only, if called on the client it will send to client scripts only.
GetServerTime number world:GetServerTime() Get server up time in seconds (can be called on client or server)
GetUTCTime number world:GetUTCTime() Gets unit time (number of seconds that have elapsed since Jan 1 1970). This has an issue that it will start to overflow 32-bits in 2038.
GetGames world:GetGames(string railName, callback callback)
GetGames world:GetGames(table railNamesTable, callback callback)
GetActiveChallenges table world:GetActiveChallenges() Gets the current active challenges Example result table: result = {} result[1] = {id = <ChallengeId>, name = <LocalisedName>, icon = <IconUrl>, count = <TotalCountToComplete>} result[2] = {id...

Parameters

Parameter Name Usage Description Notes
startTime number startTime Start time of day from 0.0 (midnight) - 0.5 (midday) - 1.0 (next midnight)
dayLength number dayLength Length of virtual 'day' in real-time seconds
sunDirection number sunDirection Angle of sun in degrees. Controls whether the sun rises from west to east, north to south, etc.
sunColor Color sunColor Color of the sun
sunIntensity number sunIntensity Intensity of the sun
heightFogStartDistance number heightFogStartDistance Height fog start distance
heightFogFalloff number heightFogFalloff Height fog falloff
heightFogDensity number heightFogDensity Height fog density
heightFogColor Color heightFogColor Color of the height fog
skyLightIntensity number skyLightIntensity Intensity of the ambient light
skyLightColor Color skyLightColor Color of the ambient light
postProcess PostProcessAsset postProcess Post Process effect
colorGrading ColorGradingAsset colorGrading Color Grading effect
skydome SkydomeAsset skydome Skydome asset
innerHorizon HorizonAsset innerHorizon Inner Horizon asset
outerHorizon HorizonAsset outerHorizon Outer Horizon asset
skyMesh SkyMeshAsset skyMesh Sky Mesh asset
deathPlaneActive bool deathPlaneActive Set whether the death plane is active or not
deathPlaneZ number deathPlaneZ Height of the death plane, when active the game will send OnFellToDeath to any Player who falls below this, automatically putting the Player back to where they spawned if the event is not responded to by any scripts.