mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-04-20 20:55:50 +00:00
61 lines
2.1 KiB
Markdown
61 lines
2.1 KiB
Markdown
# Sync Details
|
|
This page aims to describe how Rojo turns files on the filesystem into Roblox objects.
|
|
|
|
## Folders
|
|
Any directory on the filesystem will turn into a `Folder` instance in Roblox, unless that folder matches the name of a service or other existing instance. In those cases, that instance will be preserved.
|
|
|
|
## Scripts
|
|
Rojo can represent `ModuleScript`, `Script`, and `LocalScript` objects. The default script type is `ModuleScript`, since most scripts in well-structued Roblox projects will be modules.
|
|
|
|
| File Name | Instance Type |
|
|
| -------------- | -------------- |
|
|
| `*.server.lua` | `Script` |
|
|
| `*.client.lua` | `LocalScript` |
|
|
| `*.lua` | `ModuleScript` |
|
|
|
|
If a directory contains a file named `init.server.lua`, `init.client.lua`, or `init.lua`, that folder will be transformed into a `*Script` instance with the conents of the `init` file. This can be used to create scripts inside of scripts.
|
|
|
|
For example, this file tree:
|
|
|
|
* my-game
|
|
* init.client.lua
|
|
* foo.lua
|
|
|
|
Will turn into these instances in Roblox:
|
|
|
|

|
|
|
|
## Models
|
|
Rojo supports a JSON model format for representing simple models. It's designed for instance types like `BindableEvent` or `*Value` objects, and is not suitable for larger models.
|
|
|
|
!!! info
|
|
In the future, Rojo will support `.rbxmx` models. See [issue #7](https://github.com/LPGhatguy/rojo/issues/7) for more details and updates on this feature.
|
|
|
|
JSON model files are strict, with every property being required. They look like this:
|
|
|
|
```json
|
|
{
|
|
"Name": "hello",
|
|
"ClassName": "Model",
|
|
"Children": [
|
|
{
|
|
"Name": "Some Part",
|
|
"ClassName": "Part",
|
|
"Children": [],
|
|
"Properties": {}
|
|
},
|
|
{
|
|
"Name": "Some StringValue",
|
|
"ClassName": "StringValue",
|
|
"Children": [],
|
|
"Properties": {
|
|
"Value": {
|
|
"Type": "String",
|
|
"Value": "Hello, world!"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"Properties": {}
|
|
}
|
|
``` |