Public commands and exports for 0r-tattoo_designer
This page documents the supported integration surface. Public commands and exports are stable integration points. Internal NUI callbacks, server RPC routes, client events, transaction events, and worker bridge actions are private implementation details.
Commands#
/tdesigner#
Opens Tattoo Designer for an authorized player with the tattoo_designer.use ACE permission. The command is enabled and named through Config.Command.
Public server exports#
canUseTattooDesigner(source)#
Returns whether the player has permission to use the authoring Studio.
if exports['0r-tattoo_designer']:canUseTattooDesigner(source) then
-- permit your own admin flow
end
getTattooShopConfig(playerSource)#
Returns the normalized Tattoo Shop configuration for the supplied player source, including locations, enabled zones, interaction behavior, applied-project limits, professional-session availability, text, and blip data.
getAppearanceIntegrationConfig()#
Returns the active appearance provider and normalized provider entries.
getRuntimeState()#
Returns runtime readiness, database migration state, and the state of the generated export resource. Use it for diagnostics or an administration interface.
Provider adapter exports#
These server exports are the adapter surface used by Tattoo Designer itself. QBX, QB-Core, and ESX are detected automatically. For a custom framework, edit the escrow-ignored identity, access, or payment module; do not re-register these exports from another resource.
tattooIsArtist(source)#
Returns whether the supplied player satisfies the configured Professional Tattoo artist access rules.
tattooGetCharacterIdentifier(source)#
Returns the stable character identifier used for character-bound ownership.
tattooPaymentIsAvailable()#
Returns whether the selected payment backend is available.
tattooPaymentCanAfford(source, amount, operationContext)#
Checks whether the supplied player can afford the validated amount. The optional operation context contains the apply-job operation id.
tattooPaymentRemoveMoney(source, amount, reason, operationContext)#
Removes the validated amount from the customer's cash account.
tattooPaymentAddMoney(source, amount, reason, operationContext)#
Credits a professional artist after the customer's ownership commit. There is no public refund export.
Public client export#
refreshOwnTattoos()#
Refreshes the local player's owned tattoos through the active appearance flow. The resource also refreshes on supported player-load events, Illenium reloadSkin and changeOutfit, and the patched Illenium appearanceApplied compatibility event.
The illenium-appearance:client:appearanceApplied event is emitted by the patched appearance provider, not by Tattoo Designer. It is an integration dependency for the built-in Illenium adapter; other resources should use the public refreshOwnTattoos() export instead of depending on this provider event.
Events and private boundaries#
There is no supported public event or callback contract for another resource to use. Do not call internal NUI callbacks, server RPC routes, client events, or transaction events from another resource. Use the public command and exports above.
The worker bridge is private and may change without public API compatibility. Its current internal action names are:
- worker.buildTattooProjectExport
- worker.publishTattooProject
- worker.syncTattooExportResource
- worker.processAiTattooImage
- worker.renderTattooProjectRuntimeZones
- worker.cleanupTattooRuntimeRender
- worker.healthCheck
These names document runtime ownership only. They are not supported commands, events, or exports.