Show raw api
{
"functions": [
{
"name": "new",
"desc": "Constructs a new [TemplateProvider].",
"params": [
{
"name": "container",
"desc": "Value",
"lua_type": "Instance | table | number"
},
{
"name": "replicationParent",
"desc": "Place to replicate instances to.",
"lua_type": "Instance?"
}
],
"returns": [],
"function_type": "static",
"source": {
"line": 56,
"path": "src/templateprovider/src/Shared/TemplateProvider.lua"
}
},
{
"name": "Init",
"desc": "Initializes the container provider. Should be done via [ServiceBag].",
"params": [],
"returns": [],
"function_type": "method",
"source": {
"line": 91,
"path": "src/templateprovider/src/Shared/TemplateProvider.lua"
}
},
{
"name": "PromiseClone",
"desc": "Promises to clone the template as soon as it exists.",
"params": [
{
"name": "templateName",
"desc": "",
"lua_type": "string"
}
],
"returns": [
{
"desc": "",
"lua_type": "Promise<Instance>"
}
],
"function_type": "method",
"source": {
"line": 111,
"path": "src/templateprovider/src/Shared/TemplateProvider.lua"
}
},
{
"name": "Clone",
"desc": "Clones the template.\n\n:::info\nIf the template name has a prefix of \"Template\" then it will remove it on the cloned instance.\n:::",
"params": [
{
"name": "templateName",
"desc": "",
"lua_type": "string"
}
],
"returns": [
{
"desc": "",
"lua_type": "Instance?"
}
],
"function_type": "method",
"source": {
"line": 166,
"path": "src/templateprovider/src/Shared/TemplateProvider.lua"
}
},
{
"name": "Get",
"desc": "Returns the raw template",
"params": [
{
"name": "templateName",
"desc": "",
"lua_type": "string"
}
],
"returns": [
{
"desc": "",
"lua_type": "Instance?"
}
],
"function_type": "method",
"source": {
"line": 188,
"path": "src/templateprovider/src/Shared/TemplateProvider.lua"
}
},
{
"name": "AddContainer",
"desc": "Adds a new container to the provider for provision of assets.",
"params": [
{
"name": "container",
"desc": "",
"lua_type": "Instance | number"
}
],
"returns": [],
"function_type": "method",
"source": {
"line": 200,
"path": "src/templateprovider/src/Shared/TemplateProvider.lua"
}
},
{
"name": "RemoveContainer",
"desc": "Removes a container from the provisioning set.",
"params": [
{
"name": "container",
"desc": "",
"lua_type": "Instance | number"
}
],
"returns": [],
"function_type": "method",
"source": {
"line": 221,
"path": "src/templateprovider/src/Shared/TemplateProvider.lua"
}
},
{
"name": "IsAvailable",
"desc": "Returns whether or not a template is registered at the time",
"params": [
{
"name": "templateName",
"desc": "",
"lua_type": "string"
}
],
"returns": [
{
"desc": "",
"lua_type": "boolean"
}
],
"function_type": "method",
"source": {
"line": 234,
"path": "src/templateprovider/src/Shared/TemplateProvider.lua"
}
},
{
"name": "GetAll",
"desc": "Returns all current registered items.",
"params": [],
"returns": [
{
"desc": "",
"lua_type": "{ Instance }"
}
],
"function_type": "method",
"source": {
"line": 246,
"path": "src/templateprovider/src/Shared/TemplateProvider.lua"
}
},
{
"name": "GetContainers",
"desc": "Gets all current the containers.",
"params": [],
"returns": [
{
"desc": "",
"lua_type": "{ Instance | number }"
}
],
"function_type": "method",
"source": {
"line": 262,
"path": "src/templateprovider/src/Shared/TemplateProvider.lua"
}
},
{
"name": "Destroy",
"desc": "Cleans up the provider",
"params": [],
"returns": [],
"function_type": "method",
"source": {
"line": 385,
"path": "src/templateprovider/src/Shared/TemplateProvider.lua"
}
}
],
"properties": [],
"types": [],
"name": "TemplateProvider",
"desc": "Base of a template retrieval system. Templates can be retrieved from Roblox, or from the cloud,\nand then retrieved by name. Folders are ignored, so assets may be organized however you want.\n\nTemplates can repliate to client if desired.\n\n```lua\n-- shared/Templates.lua\n\nreturn TemplateProvider.new(182451181, script) -- Load from Roblox cloud\n```\n\n```lua\n-- Server\nlocal serviceBag = ServiceBag.new()\nlocal templates = serviceBag:GetService(packages.Templates)\nserviceBag:Init()\nserviceBag:Start()\n```\n\n```lua\n-- Client\nlocal serviceBag = ServiceBag.new()\nlocal templates = serviceBag:GetService(packages.Templates)\nserviceBag:Init()\nserviceBag:Start()\n\ntemplates:PromiseClone(\"Crate\"):Then(function(crate)\n\tprint(\"Got crate from the cloud!\")\nend)\n```",
"source": {
"line": 35,
"path": "src/templateprovider/src/Shared/TemplateProvider.lua"
}
}