mass_duplicate
Create multiple duplicates of Roblox Studio instances with custom name patterns, position offsets, rotation offsets, scale adjustments, and property variations in a single operation.
Instructions
Perform multiple smart duplications at once
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| duplications | Yes | Array of duplication operations |
Input Schema (JSON Schema)
{
"properties": {
"duplications": {
"description": "Array of duplication operations",
"items": {
"properties": {
"count": {
"description": "Number of duplicates to create",
"type": "number"
},
"instancePath": {
"description": "Path to the instance to duplicate",
"type": "string"
},
"options": {
"properties": {
"namePattern": {
"description": "Name pattern with {n} placeholder",
"type": "string"
},
"positionOffset": {
"description": "X, Y, Z offset per duplicate",
"items": {
"type": "number"
},
"maxItems": 3,
"minItems": 3,
"type": "array"
},
"propertyVariations": {
"description": "Property name to array of values",
"type": "object"
},
"rotationOffset": {
"description": "X, Y, Z rotation offset per duplicate",
"items": {
"type": "number"
},
"maxItems": 3,
"minItems": 3,
"type": "array"
},
"scaleOffset": {
"description": "X, Y, Z scale multiplier per duplicate",
"items": {
"type": "number"
},
"maxItems": 3,
"minItems": 3,
"type": "array"
},
"targetParents": {
"description": "Different parent for each duplicate",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"required": [
"instancePath",
"count"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"duplications"
],
"type": "object"
}
Implementation Reference
- src/tools/index.ts:332-358 (handler)The handler function that executes the mass_duplicate tool by validating input and sending a POST request to /api/mass-duplicate.async massDuplicate( duplications: Array<{ instancePath: string; count: number; options?: { namePattern?: string; positionOffset?: [number, number, number]; rotationOffset?: [number, number, number]; scaleOffset?: [number, number, number]; propertyVariations?: Record<string, any[]>; targetParents?: string[]; } }> ) { if (!duplications || duplications.length === 0) { throw new Error('Duplications array is required for mass_duplicate'); } const response = await this.client.request('/api/mass-duplicate', { duplications }); return { content: [ { type: 'text', text: JSON.stringify(response, null, 2) } ] }; }
- src/index.ts:478-543 (schema)The input schema and metadata definition for the mass_duplicate tool, including detailed type information for parameters.name: 'mass_duplicate', description: 'Perform multiple smart duplications at once', inputSchema: { type: 'object', properties: { duplications: { type: 'array', items: { type: 'object', properties: { instancePath: { type: 'string', description: 'Path to the instance to duplicate' }, count: { type: 'number', description: 'Number of duplicates to create' }, options: { type: 'object', properties: { namePattern: { type: 'string', description: 'Name pattern with {n} placeholder' }, positionOffset: { type: 'array', items: { type: 'number' }, minItems: 3, maxItems: 3, description: 'X, Y, Z offset per duplicate' }, rotationOffset: { type: 'array', items: { type: 'number' }, minItems: 3, maxItems: 3, description: 'X, Y, Z rotation offset per duplicate' }, scaleOffset: { type: 'array', items: { type: 'number' }, minItems: 3, maxItems: 3, description: 'X, Y, Z scale multiplier per duplicate' }, propertyVariations: { type: 'object', description: 'Property name to array of values' }, targetParents: { type: 'array', items: { type: 'string' }, description: 'Different parent for each duplicate' } } } }, required: ['instancePath', 'count'] }, description: 'Array of duplication operations' } }, required: ['duplications'] } },
- src/index.ts:700-701 (registration)The switch case that registers and dispatches incoming tool calls for mass_duplicate to the handler method.case 'mass_duplicate': return await this.tools.massDuplicate((args as any)?.duplications);