Difference between revisions of "Powder Toy Lua API"
(Remove link (nice, now we have to make a new page)) |
(Remove boxmein's reference, re-order api list based on my arbitrary ranking of importance) |
||
Line 4: | Line 4: | ||
If you are new to the Lua programming language, you should familiarize yourself with how to code in Lua. A great beginner's tutorial is available [https://www.lua.org/pil/contents.html here] | If you are new to the Lua programming language, you should familiarize yourself with how to code in Lua. A great beginner's tutorial is available [https://www.lua.org/pil/contents.html here] | ||
− | |||
− | |||
The API is split into several categories | The API is split into several categories | ||
− | ; [[Lua_API: | + | ; [[Lua_API:Simulation|Simulation]] |
− | + | : Methods for modifying the state of the simulation. | |
− | |||
− | : Methods | ||
; [[Lua_API:Elements|Elements]] | ; [[Lua_API:Elements|Elements]] | ||
− | : Methods and constants for modifying and creating elements | + | : Methods and constants for modifying and creating elements. |
− | |||
− | |||
; [[Lua_API:Graphics|Graphics]] | ; [[Lua_API:Graphics|Graphics]] | ||
: Methods for drawing simple shapes and text on the screen. | : Methods for drawing simple shapes and text on the screen. | ||
+ | ; [[Lua_API:Renderer|Renderer]] | ||
+ | : Methods and constants for interacting with the display mode. | ||
+ | ; [[Lua_API:Event|Event]] | ||
+ | : Listen for events, such as mouse clicks or key presses. | ||
+ | ; [[Lua_API:Interface|Interface]] | ||
+ | : Includes UI components such as buttons, labels, and checkboxes, access to the very primitive window manager, and input events. | ||
; [[Lua_API:File_System|File System]] | ; [[Lua_API:File_System|File System]] | ||
: Functions for creating, deleting, modifying, and enumerating files and folders. | : Functions for creating, deleting, modifying, and enumerating files and folders. | ||
; [[Lua_API:Platform|Platform]] | ; [[Lua_API:Platform|Platform]] | ||
: Functions for doing OS-level things like opening URLs or interacting with the clipboard. | : Functions for doing OS-level things like opening URLs or interacting with the clipboard. | ||
− | |||
− | |||
; [[Lua_API:Socket|Socket]] | ; [[Lua_API:Socket|Socket]] | ||
: Provides TCP sockets, effectively a severely feature-limited version of the [http://w3.impa.br/~diego/software/luasocket/ LuaSocket library] | : Provides TCP sockets, effectively a severely feature-limited version of the [http://w3.impa.br/~diego/software/luasocket/ LuaSocket library] |
Revision as of 04:22, 15 March 2024
Language: | English • 한국어 • 中文 |
---|
The Powder Toy Lua API is a set of objects and functions that allow control over most aspects of the game, including graphics, element interactions, and interfaces.
If you are new to the Lua programming language, you should familiarize yourself with how to code in Lua. A great beginner's tutorial is available here
The API is split into several categories
- Simulation
- Methods for modifying the state of the simulation.
- Elements
- Methods and constants for modifying and creating elements.
- Graphics
- Methods for drawing simple shapes and text on the screen.
- Renderer
- Methods and constants for interacting with the display mode.
- Event
- Listen for events, such as mouse clicks or key presses.
- Interface
- Includes UI components such as buttons, labels, and checkboxes, access to the very primitive window manager, and input events.
- File System
- Functions for creating, deleting, modifying, and enumerating files and folders.
- Platform
- Functions for doing OS-level things like opening URLs or interacting with the clipboard.
- Socket
- Provides TCP sockets, effectively a severely feature-limited version of the LuaSocket library
- HTTP
- Provides access to basic HTTP functionality in the form of request objects.
- Bzip2
- Provides direct access to our bzip2 library, for compressing and decompressing data.
- Bit
- Doesn't actually provide any interaction with the game, but provides some functions for performing bitwise operations on integer numbers.
- Legacy
- Old Lua API with the tpt.* prefix