mirror of
https://codeberg.org/AntumLuanti/mod-cleaner.git
synced 2025-03-15 04:41:22 +00:00
Add API
This commit is contained in:
parent
774b22a55b
commit
261d0ed5e7
7 changed files with 53 additions and 17 deletions
1
TODO.txt
1
TODO.txt
|
@ -1,4 +1,3 @@
|
|||
|
||||
TODO:
|
||||
- add chat commands to update cleaning in-game
|
||||
- add API
|
||||
|
|
39
api.lua
Normal file
39
api.lua
Normal file
|
@ -0,0 +1,39 @@
|
|||
|
||||
local replace_items = {}
|
||||
local replace_nodes = {}
|
||||
|
||||
|
||||
function cleaner.get_replace_items()
|
||||
return replace_items
|
||||
end
|
||||
|
||||
function cleaner.get_replace_nodes()
|
||||
return replace_nodes
|
||||
end
|
||||
|
||||
|
||||
function cleaner.remove_entity(src)
|
||||
core.register_entity(":" .. src, {
|
||||
on_activate = function(self, staticdata)
|
||||
self.object:remove()
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
function cleaner.remove_node(src)
|
||||
core.register_node(":" .. src, {
|
||||
groups = {to_remove=1},
|
||||
})
|
||||
end
|
||||
|
||||
function cleaner.replace_item(src, tgt)
|
||||
replace_items[src] = tgt
|
||||
end
|
||||
|
||||
function cleaner.replace_node(src, tgt)
|
||||
core.register_node(":" .. src, {
|
||||
groups = {to_replace=1},
|
||||
})
|
||||
|
||||
replace_nodes[src] = tgt
|
||||
end
|
|
@ -1,4 +1,8 @@
|
|||
|
||||
v1.2
|
||||
----
|
||||
- added API
|
||||
|
||||
v1.1
|
||||
----
|
||||
- uses "register_lbm" with "run_at_every_load" instead of "register_abm" to save resources
|
||||
|
|
|
@ -46,10 +46,5 @@ end
|
|||
|
||||
for _, e in ipairs(e_list.remove) do
|
||||
cleaner.log("debug", "Cleaning entity: " .. e)
|
||||
|
||||
core.register_entity(":" .. e, {
|
||||
on_activate = function(self, staticdata)
|
||||
self.object:remove()
|
||||
end,
|
||||
})
|
||||
cleaner.remove_entity(e)
|
||||
end
|
||||
|
|
1
init.lua
1
init.lua
|
@ -32,6 +32,7 @@ end
|
|||
|
||||
|
||||
local scripts = {
|
||||
"api",
|
||||
"entities",
|
||||
"nodes",
|
||||
"items",
|
||||
|
|
|
@ -25,9 +25,13 @@ if i_file then
|
|||
i_file:close()
|
||||
end
|
||||
|
||||
for i_old, i_new in pairs(i_list.replace) do
|
||||
cleaner.replace_item(i_old, i_new)
|
||||
end
|
||||
|
||||
-- register actions for after server startup
|
||||
core.register_on_mods_loaded(function()
|
||||
for i_old, i_new in pairs(i_list.replace) do
|
||||
for i_old, i_new in pairs(cleaner.get_replace_items()) do
|
||||
cleaner.log("action", "replacing item \"" .. i_old .. "\" with \"" .. i_new .. "\"")
|
||||
|
||||
if not core.registered_items[i_old] then
|
||||
|
|
12
nodes.lua
12
nodes.lua
|
@ -50,10 +50,7 @@ end
|
|||
|
||||
for _, n in ipairs(n_list.remove) do
|
||||
cleaner.log("debug", "Cleaning node: " .. n)
|
||||
|
||||
core.register_node(":" .. n, {
|
||||
groups = {to_remove=1},
|
||||
})
|
||||
cleaner.remove_node(n)
|
||||
end
|
||||
|
||||
core.register_lbm({
|
||||
|
@ -67,10 +64,7 @@ core.register_lbm({
|
|||
|
||||
for n_old, n_new in pairs(n_list.replace) do
|
||||
cleaner.log("debug", "Replacing node \"" .. n_old .. "\" with \"" .. n_new .. "\"")
|
||||
|
||||
core.register_node(":" .. n_old, {
|
||||
groups = {to_replace=1},
|
||||
})
|
||||
cleaner.replace_node(n_old, n_new)
|
||||
end
|
||||
|
||||
core.register_lbm({
|
||||
|
@ -80,7 +74,7 @@ core.register_lbm({
|
|||
action = function(pos, node)
|
||||
core.remove_node(pos)
|
||||
|
||||
local new_node_name = n_list.replace[node.name]
|
||||
local new_node_name = cleaner.get_replace_nodes()[node.name]
|
||||
local new_node = core.registered_nodes[new_node_name]
|
||||
if new_node then
|
||||
core.place_node(pos, new_node)
|
||||
|
|
Loading…
Add table
Reference in a new issue