Skip to main content

Below is a template for a WorldClass script, which controls a game world.

World = class()
-- Constants-- https://scrapmechanictools.com/lua/Game-Script-Environment/Constants#worldclass
World.cellMaxX = 0World.cellMaxY = 0World.cellMinX = 0World.cellMinY = 0World.enableAssets = trueWorld.enableClutter = trueWorld.enableCreations = trueWorld.enableHarvestables = trueWorld.enableKinematics = trueWorld.enableNodes = trueWorld.enableSurface = trueWorld.groundMaterialSet = "$GAME_DATA/Terrain/Materials/gnd_standard_materialset.json"World.isIndoor = falseWorld.isStatic = falseWorld.renderMode = "outdoor"World.terrainScript = "$PATH/to/your/terrain.lua"World.worldBorder = true
-- Serverside Callbacks
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/CommonCallbacks#oncreatefunction World.server_onCreate( self )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/CommonCallbacks#onrefreshfunction World.server_onRefresh( self )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/CommonCallbacks#onfixedupdatefunction World.server_onFixedUpdate( self, dt )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/WorldClass#onexplosionfunction World.server_onExplosion( self, center, destructionLevel )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/WorldClass#onprojectilefunction World.server_onProjectile( self, position, airTime, velocity, projectileName, shooter, damage, customData, normal, target, uuid )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/WorldClass#onprojectilefirefunction World.server_onProjectileFire( self, position, velocity, projectileName, shooter, uuid )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/WorldClass#onmeleefunction World.server_onMelee( self, position, attacker, target, damage, power, direction, normal )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/WorldClass#oncollisionfunction World.server_onCollision( self, objectA, objectB, position, pointVelocityA, pointVelocityB, normal )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/WorldClass#oncellcreatedfunction World.server_onCellCreated( self, x, y )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/WorldClass#oncellloadedfunction World.server_onCellLoaded( self, x, y )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/WorldClass#oncellunloadedfunction World.server_onCellUnloaded( self, x, y )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/WorldClass#oninteractablecreatedfunction World.server_onInteractableCreated( self, interactable )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/WorldClass#oninteractabledestroyedfunction World.server_onInteractableDestroyed( self, interactable )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/CommonCallbacks#ondestroyfunction World.server_onDestroy( self )
end


-- Clientside Callbacks
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/CommonCallbacks#oncreatefunction World.client_onCreate( self )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/CommonCallbacks#onrefreshfunction World.client_onRefresh( self )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/CommonCallbacks#onfixedupdatefunction World.client_onFixedUpdate( self, dt )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/CommonCallbacks#onupdatefunction World.client_onUpdate( self, dt )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/WorldClass#oncellloadedfunction World.client_onCellLoaded( self, x, y )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/WorldClass#oncellunloadedfunction World.client_onCellUnloaded( self, x, y )
end
-- https://scrapmechanictools.com/lua/Game-Script-Environment/Classes/CommonCallbacks#ondestroyfunction World.client_onDestroy( self )
end