rojo/plugin/src/Config.lua
Joe 3c33054afd Add support for ignoring auto-created instances in sync process
- Introduced a new configuration for ignored class names in Config.lua to streamline the sync process by skipping instances that are auto-created by Roblox, such as TouchTransmitter and Camera.
- Updated PatchTree, applyPatch, and diff functions to utilize this configuration, enhancing efficiency by preventing unnecessary processing of these instances.
2026-01-20 22:58:44 -06:00

34 lines
1 KiB
Lua

local strict = require(script.Parent.strict)
local isDevBuild = script.Parent.Parent:FindFirstChild("ROJO_DEV_BUILD") ~= nil
local Version = script.Parent.Parent.Version
local trimmedVersionValue = Version.Value:gsub("^%s+", ""):gsub("%s+$", "")
local major, minor, patch, metadata = trimmedVersionValue:match("^(%d+)%.(%d+)%.(%d+)(.*)$")
local realVersion = { major, minor, patch, metadata }
for i = 1, 3 do
local num = tonumber(realVersion[i])
if num then
realVersion[i] = num
else
error(("invalid version `%s` (field %d)"):format(realVersion[i], i))
end
end
-- ClassNames to ignore during sync (auto-created by Roblox, not meaningful for sync)
local IgnoredClassNames = {
TouchTransmitter = true,
Camera = true,
}
return strict("Config", {
isDevBuild = isDevBuild,
codename = "Epiphany",
version = realVersion,
expectedServerVersionString = ("%d.%d or newer"):format(realVersion[1], realVersion[2]),
protocolVersion = 5,
defaultHost = "localhost",
defaultPort = "34872",
ignoredClassNames = IgnoredClassNames,
})