Moduprint/API/Methods

From Resonite Wiki
< Moduprint‎ | API
Revision as of 17:39, 5 August 2025 by Colin The Cat (talk | contribs) (→‎DispatchEvent, DispatchAsyncEvent)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

All methods listed here are accessible through slot Dynamic Reference Variables named Manager/Method.name.

CheckInstallRequirements

Context
Name Type Purpose
Module Slot Required Module to check.
Result
Name Type Purpose
Manager/Local.Result String Error message, if requirements not met.

CheckUninstallRequirements

Context
Name Type Purpose
Module Slot Required Module to check.
Result
Name Type Purpose
Manager/Local.Result String Error message, if requirements not met.

CheckVersion

Context
Name Type Purpose
Min,Test,Max double3x3 Required Minimum, tested version, and maximum as rows of a double3x3 matrix.
Result
Name Type Purpose
Manager/Local.Result bool If the tested version is within the inclusive range.

ConfirmPackHandler

Confirms that the selected pack handler is capable of packing the active tab on the print.

Context
Name Type Purpose
PackHandler Slot Required Pack handler.
Print Slot Required Print to pack.
Result
Name Type Purpose
Manager/Local.Result bool If the provided handler can pack the print.

DeleteTab

Context
Name Type Purpose
Tab Slot Required Tab to be deleted.

DispatchAsyncEvent

Async version of DispatchEvent. It is important to clone the event data slot before dispatching and to delete it afterwards because multiple events could be dispatched at the same time, which would be overriding the data.

DispatchEvent

The event data must have the name of the event. If it is defined on a module, the event name is automatically prefixed by the module ID as ID.event.

Context
Name Type Purpose
Event Slot Required Event data.

DuplicateTab

Context
Name Type Purpose
Tab Slot Required Tab to be duplicated.
Result
Name Type Purpose
Manager/Local.Result Slot Duplicated tab.


GetRegistry

Get a list of all registry entries. The result's slot children each have the slot Dynamic Variable Entry. Entries are ordered by priority from high to low. The returned registry is read-only, use Register for adding entries.

Context
Name Type Purpose
Name String Required Name of the registry.
Result
Name Type Purpose
Manager/Local.Result Slot Registry entries.

HideTabContent

Hides the tab's content. To set a tab active, use SetTabActive instead. This method is only useful for unpacking flux into multiple tabs.

Context
Name Type Purpose
Tab Slot Required Tab whose content should be hidden.

InstallModule (async)

Context
Name Type Purpose
Module Slot Required The module to install.
Result
Name Type Purpose
Manager/Local.Result String Error message, if unsuccessful.
Manager/Local.Result Slot The previously installed module with the same ID, if it existed.

NewPrint

Creates a new print under the local user's space. Use NewPrintTab if you need the print to be created at a specific location.

Result
Name Type Purpose
Manager/Local.Result Slot The created print.

NewPrintAt

Creates a new print.

Context
Name Type Purpose
Parent Slot Optional The parent of the print, defaults to local user space.
Position float3 Optional Global Position.
Rotation floatQ Optional Global Rotation.
Scale float3 Optional Global Scale, defaults to 1.
Result
Name Type Purpose
Manager/Local.Result Slot The created print.

NewTab, NewActiveTab

Context
Name Type Purpose
Print Slot Required The print to create a new tab on.
Result
Name Type Purpose
Manager/Local.Result Slot The created tab.

NewTabWithContent

The tab content holder is created directly under the provided pack target slot.

Context
Name Type Purpose
Print Slot Required The print to create a new tab on.
Content Slot Required The content slot of the tab.
PackTarget Slot Optional Where the tab is parented to.
Result
Name Type Purpose
Manager/Local.Result Slot The created tab.

Register

Adds an entry to a registry. Prefer using Module/Lifecycle.Register for adding entries to a registry. This is only useful if you need to register something after the module was already installed. See Moduprint/API#Registries for more information.

Context
Name Type Purpose
Entry Slot Required Slot that should be registered.
Registry String Required Name of the registry this entry belongs to.
Priority String Optional Entry priority in the registry, see below.

SetTabActive

Context
Name Type Purpose
Tab/Print Slot Required The tab to set active or the print itself to set no tab active.

ShowTabContent

Shows the tab's content. To set a tab active, use SetTabActive instead. This method is only useful for unpacking flux into multiple tabs.

Context
Name Type Purpose
Tab Slot Required Tab whose content should be shown.

Snap

Context
Name Type Purpose
Print Slot Required The print to snap to.
Target Slot Required Object to snap to the print.
Result
Name Type Purpose
Manager/Local.Result String Default, Drop, Handled.

UninstallModule (async)

Context
Name Type Purpose
ID Slot Required The ID of the module to uninstall.
Result
Name Type Purpose
Manager/Local.Result String Error message, if unsuccessful.
Manager/Local.Result Slot The previously uninstalled module.

UnregisterAllByModule

Removes all entries from all registries that were created by a module. Prefer using Module/Lifecycle.Register for adding entries to a registry. This is automatically called when a module is uninstalled. You should not need to call this manually.

Context
Name Type Purpose
ID String Required Module ID.