mod-cleaner/init.lua

57 lines
1.1 KiB
Lua
Raw Normal View History

2017-08-30 14:54:33 -07:00
--[[ Clean Entities mod
License: CC0
]]
2017-08-30 14:54:33 -07:00
cleane = {}
cleane.name = core.get_current_modname()
local debug = core.settings:get_bool('enable_debug_mods')
local function log(level, msg)
2017-08-30 14:54:33 -07:00
core.log(level, '[' .. cleane.name .. '] ' .. msg)
end
local function logDebug(msg)
if debug then
2017-08-30 14:54:33 -07:00
core.log('DEBUG: [' .. cleane.name .. '] ' .. msg)
end
end
local old_entities = {}
-- Populate entities list from file in world path
local e_list = nil
local e_path = core.get_worldpath() .. '/clean_entities.txt'
local e_file = io.open(e_path, 'r')
if e_file then
e_list = e_file:read('*a')
e_file:close()
else
-- Create empty file
e_file = io.open(e_path, 'w')
if e_file then
e_file:close()
end
end
if e_list then
logDebug('Loading entities to clean from file ...')
e_list = string.split(e_list, '\n')
for _, entity_name in ipairs(e_list) do
table.insert(old_entities, entity_name)
end
end
2017-08-30 14:14:55 -07:00
for _, entity_name in ipairs(old_entities) do
logDebug('Cleaning entity: ' .. entity_name)
2017-08-30 14:14:55 -07:00
core.register_entity(':' .. entity_name, {
on_activate = function(self, staticdata)
self.object:remove()
end,
})
end