Modding:Lua

From Starbounder - Starbound Wiki
Jump to: navigation, search

About Lua

Lua is a powerful, fast, lightweight, embeddable scripting language used to extend the functionality of software and games.

The official website has this to say:

Lua is a powerful, fast, lightweight, embeddable scripting language.

Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode for a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.

To learn how to program Lua, the Lua-users wiki might be a good place to start, or just Google search, "Learning Lua." There are many good, free, online options.

Lua Reference

Tables

The Lua API consists mostly of tables that contain references to the required functions.

Activeitem Containerpane Movementcontroller Playercompanions Statuscontroller Widget
Activeitemanimation Entity Npc Projectile Statuseffect World
Actormovementcontroller Item Object Quest Tech
Animator Localanimator Objectanimator Root Updatablescript
Commandprocessor Message Physics Scriptpane Utility
Config Monster Player Stagehand Vehicle


Hooks & Callbacks

Penguin-Jump.gif
Article Stub

This article has been marked as a stub because:
Elaborate

Entities like NPCs, objects and monsters require some functions to work.

Monster NPC Object Fireable Items Tech


Quick Navigation

</noinclude>

Tips & Tricks

Penguin-Jump.gif
Article Stub

This article is a stub. You can help Starbound's official Wiki by expanding it!

There are a lot of obscure details to modding Starbound that bypass some of the limited functionality provided by the Devs. These Tips & Tricks will provide work-arounds for the limited functionality, common mistakes, as well as provide examples.

Tips & Tricks Example Code


Quick Navigation


Libraries

Penguin-Jump.gif
Article Stub

This article has been marked as a stub because:
Can these pages actually be FILLED with content?

These are commonly used libraries that extend the basic functionality of the API.


Quick Navigation


Additional Information

If you could not find a function documented here, chances are that you will find some documentation in the following sources:


Quick Navigation