register new node schema recipes when nodes, recipes, or shapes are added, instead of after mods load

This commit is contained in:
flux
2022-09-22 12:55:29 -07:00
parent 7414e274af
commit 6e16c54cc3
4 changed files with 62 additions and 60 deletions

View File

@ -1,8 +1,13 @@
local api = stairsplus.api
api.registered_on_register_shapes = {}
api.registered_shapes = {}
api.shapes_by_group = {}
function api.register_on_register_shape(func)
table.insert(api.registered_on_register_shapes, func)
end
function api.register_shape(name, def)
stairsplus.log("info", "registering shape %q", name)
def.shape_groups = def.shape_groups or {}
@ -13,6 +18,10 @@ function api.register_shape(name, def)
table.insert(shapes, name)
api.shapes_by_group[group] = shapes
end
for _, func in ipairs(api.registered_on_register_shapes) do
func(name, def)
end
end
function api.register_shape_group(shape_group, shapes)