mirror of
https://codeberg.org/AntumLuanti/mod-cleaner.git
synced 2025-03-21 15: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:
|
TODO:
|
||||||
- add chat commands to update cleaning in-game
|
- 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
|
v1.1
|
||||||
----
|
----
|
||||||
- uses "register_lbm" with "run_at_every_load" instead of "register_abm" to save resources
|
- 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
|
for _, e in ipairs(e_list.remove) do
|
||||||
cleaner.log("debug", "Cleaning entity: " .. e)
|
cleaner.log("debug", "Cleaning entity: " .. e)
|
||||||
|
cleaner.remove_entity(e)
|
||||||
core.register_entity(":" .. e, {
|
|
||||||
on_activate = function(self, staticdata)
|
|
||||||
self.object:remove()
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
end
|
||||||
|
|
1
init.lua
1
init.lua
|
@ -32,6 +32,7 @@ end
|
||||||
|
|
||||||
|
|
||||||
local scripts = {
|
local scripts = {
|
||||||
|
"api",
|
||||||
"entities",
|
"entities",
|
||||||
"nodes",
|
"nodes",
|
||||||
"items",
|
"items",
|
||||||
|
|
|
@ -25,9 +25,13 @@ if i_file then
|
||||||
i_file:close()
|
i_file:close()
|
||||||
end
|
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
|
-- register actions for after server startup
|
||||||
core.register_on_mods_loaded(function()
|
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 .. "\"")
|
cleaner.log("action", "replacing item \"" .. i_old .. "\" with \"" .. i_new .. "\"")
|
||||||
|
|
||||||
if not core.registered_items[i_old] then
|
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
|
for _, n in ipairs(n_list.remove) do
|
||||||
cleaner.log("debug", "Cleaning node: " .. n)
|
cleaner.log("debug", "Cleaning node: " .. n)
|
||||||
|
cleaner.remove_node(n)
|
||||||
core.register_node(":" .. n, {
|
|
||||||
groups = {to_remove=1},
|
|
||||||
})
|
|
||||||
end
|
end
|
||||||
|
|
||||||
core.register_lbm({
|
core.register_lbm({
|
||||||
|
@ -67,10 +64,7 @@ core.register_lbm({
|
||||||
|
|
||||||
for n_old, n_new in pairs(n_list.replace) do
|
for n_old, n_new in pairs(n_list.replace) do
|
||||||
cleaner.log("debug", "Replacing node \"" .. n_old .. "\" with \"" .. n_new .. "\"")
|
cleaner.log("debug", "Replacing node \"" .. n_old .. "\" with \"" .. n_new .. "\"")
|
||||||
|
cleaner.replace_node(n_old, n_new)
|
||||||
core.register_node(":" .. n_old, {
|
|
||||||
groups = {to_replace=1},
|
|
||||||
})
|
|
||||||
end
|
end
|
||||||
|
|
||||||
core.register_lbm({
|
core.register_lbm({
|
||||||
|
@ -80,7 +74,7 @@ core.register_lbm({
|
||||||
action = function(pos, node)
|
action = function(pos, node)
|
||||||
core.remove_node(pos)
|
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]
|
local new_node = core.registered_nodes[new_node_name]
|
||||||
if new_node then
|
if new_node then
|
||||||
core.place_node(pos, new_node)
|
core.place_node(pos, new_node)
|
||||||
|
|
Loading…
Add table
Reference in a new issue