File Structure Configuration
Basic Usage (Template String)
files: {
perNamespace: true,
output: 'resources/{projectId}/configuration/{folder}/{namespace}.yml',
assets: 'resources/{projectId}/assets/{namespace}/{asset}', // Simple template
}Advanced Usage (Function)
files: {
perNamespace: true,
output: 'resources/{projectId}/configuration/{folder}/{namespace}.yml',
// Use a function for complex logic!
assets: (context) => {
const { item, assetType, assetName, projectId, namespace, folder } = context;
// Custom logic based on item type
if (item.type === 'block') {
if (assetType === 'model') {
return `resources/${projectId}/assets/${namespace}/models/blocks/${assetName}`;
} else if (assetType === 'texture') {
return `resources/${projectId}/assets/${namespace}/customtextures/${assetName}`;
}
}
if (item.type === 'item') {
if (assetType === 'model') {
return `resources/${projectId}/assets/${namespace}/models/items/${assetName}`;
} else if (assetType === 'texture') {
return `resources/${projectId}/assets/${namespace}/textures/items/${assetName}`;
}
}
// Default fallback
return `resources/${projectId}/assets/${namespace}/${assetType}s/${assetName}`;
}
}Function Context
Example: Organize by Item Subtype
Example: Organize by Custom Module
Example: Different Texture Folders by Type
Example: Organize by Asset Count
Return Value
Backwards Compatibility
Last updated