sm.world
The world api handles the creation and destruction of worlds.
A world contains the terrain and simulates the physics environment in which other game objects can exist.
Constants
| Name | Type | Description |
|---|---|---|
ids |
— | Predefined special world ids |
voxelFilter |
table | The filter type list. |
ids
Predefined special world ids
{
anyWorld,
noWorld,
}
voxelFilter
Value type: table
Filters are used to specify what materials a terrain modification sphere can destroy.
The filters are:
- material0 – Allows destruction of material 0 in the voxel material set.
- material1 – Allows destruction of material 1 in the voxel material set.
- material2 – Allows destruction of material 2 in the voxel material set.
- material3 – Allows destruction of material 3 in the voxel material set.
- material4 – Allows destruction of material 4 in the voxel material set.
- material5 – Allows destruction of material 5 in the voxel material set.
- material6 – Allows destruction of material 6 in the voxel material set.
- material7 – Allows destruction of material 7 in the voxel material set.
- all – Allows destruction of all materials in the voxel material set.
{
none = 0,
material0 = 1,
material1 = 2,
material2 = 4,
material3 = 8,
material4 = 16,
material5 = 32,
material6 = 64,
material7 = 128,
all = 255,
}
Server + Client
getCurrentWorld
sm.world.getCurrentWorld( )
Get the world that the scripted object is in.
Returns:
| Type | Description |
|---|---|
| World | The world |
getDirtySpheres
sm.world.getDirtySpheres( position, radius )
Returns an array of tables representing spheres where something has changed in the world.
The optional position and radius parameters will construct a sphere, and use it as a filter to only show results that intersect that sphere.
Parameters:
| Name | Type | Description |
|---|---|---|
position (optional) |
Vec3 | The world position of the sphere. (Optional) |
radius (optional) |
number | The radius of the sphere. (Optional) |
Returns:
| Type | Description |
|---|---|
| table | The table of tables. { {center=Vec3, radius=number}, ..} |
Server-only
createWorld
sm.world.createWorld( filename, classname, terrainParams, seed )
Creates a new world object.
Parameters:
| Name | Type | Description |
|---|---|---|
filename |
string | The world script filename. |
classname |
string | The world script class name. |
terrainParams (optional) |
any | The world's terrain parameters. (Optional) |
seed (optional) |
integer | The world's seed. Defaults to 0 (Optional) |
Returns:
| Type | Description |
|---|---|
| World | The created world object. |
getLegacyCreativeWorld
sm.world.getLegacyCreativeWorld( )
Gets a previously saved creative world
Returns:
| Type | Description |
|---|---|
| World | The world (id 0) if it exists in the database or nil |
loadWorld
sm.world.loadWorld( world )
Loads a previously created world.
Parameters:
| Name | Type | Description |
|---|---|---|
world |
World | The world that should be loaded. |
Returns:
| Type | Description |
|---|---|
| boolean | Return true if the world was loaded. |