Charakterbewegungen hinzugefügt, Deko hinzugefügt, Kochrezepte angepasst
This commit is contained in:
parent
95945c0306
commit
a0c893ca0b
1124 changed files with 64294 additions and 763 deletions
104
mods/moreblocks/stairsplus/api/alias.lua
Normal file
104
mods/moreblocks/stairsplus/api/alias.lua
Normal file
|
@ -0,0 +1,104 @@
|
|||
local api = stairsplus.api
|
||||
|
||||
local table_is_empty = futil.table.is_empty
|
||||
|
||||
function api.register_alias_shape(old_node, new_node, shape)
|
||||
local old_shaped_node = api.format_name(old_node, shape)
|
||||
local new_shaped_node = api.format_name(new_node, shape)
|
||||
|
||||
minetest.register_alias(old_shaped_node, new_shaped_node)
|
||||
|
||||
local shape_def = api.registered_shapes[shape]
|
||||
if shape_def.aliases then
|
||||
local old_mod, old_name = old_node:match("^([^:]+):(.*)$")
|
||||
for _, alias in ipairs(shape_def.aliases) do
|
||||
old_shaped_node = ("%s:%s"):format(old_mod, alias:format(old_name))
|
||||
minetest.register_alias(old_shaped_node, new_shaped_node)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function api.register_alias_all(old_node, new_node)
|
||||
for shape in pairs(api.registered_shapes) do
|
||||
api.register_alias_shape(old_node, new_node, shape)
|
||||
end
|
||||
end
|
||||
|
||||
function api.register_alias_shapes(old_node, new_node, shapes)
|
||||
for _, shape in ipairs(shapes) do
|
||||
api.register_alias_shape(old_node, new_node, shape)
|
||||
end
|
||||
end
|
||||
|
||||
function api.register_alias_group(old_node, new_node, group)
|
||||
for _, shape in ipairs(api.shapes_by_group[group] or {}) do
|
||||
api.register_alias_shape(old_node, new_node, shape)
|
||||
end
|
||||
end
|
||||
|
||||
function api.register_alias_groups(old_node, new_node, groups)
|
||||
for _, group in ipairs(groups) do
|
||||
api.register_alias_group(old_node, new_node, group)
|
||||
end
|
||||
end
|
||||
|
||||
function api.register_alias_force_shape(old_node, new_node, shape)
|
||||
local old_shaped_node = api.format_name(old_node, shape)
|
||||
local new_shaped_node = api.format_name(new_node, shape)
|
||||
|
||||
minetest.register_alias_force(old_shaped_node, new_shaped_node)
|
||||
|
||||
local shape_def = api.registered_shapes[shape]
|
||||
if shape_def.aliases then
|
||||
local old_mod, old_name = old_node:match("^([^:]+):(.*)$")
|
||||
for _, alias in ipairs(shape_def.aliases) do
|
||||
old_shaped_node = ("%s:%s"):format(old_mod, alias:format(old_name))
|
||||
minetest.register_alias_force(old_shaped_node, new_shaped_node)
|
||||
end
|
||||
end
|
||||
|
||||
local nodes = api.nodes_by_shape[shape] or {}
|
||||
if nodes[old_node] then
|
||||
nodes[old_node] = nil
|
||||
nodes[new_node] = true
|
||||
api.nodes_by_shape[shape] = nodes
|
||||
end
|
||||
|
||||
local old_shapes = api.shapes_by_node[old_node] or {}
|
||||
if old_shapes[shape] then
|
||||
old_shapes[shape] = nil
|
||||
if table_is_empty(old_shapes) then
|
||||
api.shapes_by_node[old_node] = nil
|
||||
else
|
||||
api.shapes_by_node[old_node] = old_shapes
|
||||
end
|
||||
|
||||
local new_shapes = api.shapes_by_node[new_node] or {}
|
||||
new_shapes[new_node] = true
|
||||
api.shapes_by_node[new_node] = new_shapes
|
||||
end
|
||||
end
|
||||
|
||||
function api.register_alias_force_all(old_node, new_node)
|
||||
for shape in pairs(api.registered_shapes) do
|
||||
api.register_alias_force_shape(old_node, new_node, shape)
|
||||
end
|
||||
end
|
||||
|
||||
function api.register_alias_force_shapes(old_node, new_node, shapes)
|
||||
for _, shape in ipairs(shapes) do
|
||||
api.register_alias_force_shape(old_node, new_node, shape)
|
||||
end
|
||||
end
|
||||
|
||||
function api.register_alias_force_group(old_node, new_node, group)
|
||||
for _, shape in ipairs(api.shapes_by_group[group] or {}) do
|
||||
api.register_alias_force_shape(old_node, new_node, shape)
|
||||
end
|
||||
end
|
||||
|
||||
function api.register_alias_force_groups(old_node, new_node, groups)
|
||||
for _, group in ipairs(groups) do
|
||||
api.register_alias_force_group(old_node, new_node, group)
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue