2.5 KiB
2.5 KiB
Laptop Mod API
Node creator helpers
laptop.os_get(pos)
- Get an OS object. Usefull in on_construct or on_punch to initialize or do anything with OS Needed in on_receive_fields to be able to call os:receive_fields(fields, sender) for interactive appslaptop.after_place_node
/laptop.after_dig_node
- (optional) can be used directly for node definition. Move laptop apps data to ItemStack if digged and restored back if placed again. So you can take along your laptop. Note: you need to setstack_max = 1
because the data can be stored per stack only, not per item.
Operating system calls
Usable from node functions, from apps or outsite
local os = laptop.os_get(pos)
- Get the Operating system object. pos is the node position
os:power_on(new_node_name)
- Activate the app "launcher" and if given swap node to new_node_nameos:power_off(new_node_name)
- Remove the formspec and if given swap node to new_node_nameos:set_infotext(infotext)
- Set the mouseover infotext for laptop nodeos:save()
- Store all app-data to nodemeta. Called mostly internally so no explicit call necessaryos:set_app(appname)
- Start/Enable/navigate to appname. If no appname given the launcher is calledos:receive_fields(fields, sender)
- Should be called from node.on_receive_fields to get the apps interactive
App Definition
laptop.register_app(internal_shortname, { definitiontable })
- add a new app or view
app_name
- App name shown in launcher. If not defined the app is just a view, not visible in launcher but can be activated. This way multi-screen apps are possibleapp_icon
- Icon to be shown in launcher. If nothing given the default icon is usedapp_info
- Short app info visible in launcher tooltipbackground_img
- if set the image is added as background to formspec by frameworkformspec_func(app, os)
- Function, should return the app formspec (mandatory) During definition the "app" and the "os" are availablereceive_fields_func(app, os, fields, sender)
Function for input processing. The "app" and the "os" are available inside the call
App Object
local app = laptop.get_app(internal_shortname, os)
- Give the app object internal_shortname, connected to given os. Not necessary in formspec_func or receive_fields_func because given trough interface
data = app:get_storage_ref()
- Returns a "persitant" data table that means the data in this table is not lost between formspec_func, receive_fields_func, apps-switch or on/off.app.background_img
- Background image from definition. Can be changed at runtime