Make 1x1, 1x2 and 2x2 drawers disableable

The new settings for the minetest.conf are:
`drawers_disable_1x1`
`drawers_disable_1x2`
`drawers_disable_2x2`
This commit is contained in:
LNJ 2017-04-09 22:31:31 +02:00
parent 76d5e3ba9f
commit 40230857ad
No known key found for this signature in database
GPG Key ID: 69268DBD835B6B0B
2 changed files with 68 additions and 52 deletions

@ -43,6 +43,10 @@ else
end end
drawers.enable_1x1 = not core.setting_getbool("drawers_disable_1x1")
drawers.enable_1x2 = not core.setting_getbool("drawers_disable_1x2")
drawers.enable_2x2 = not core.setting_getbool("drawers_disable_2x2")
-- --
-- Load files -- Load files
-- --

@ -157,61 +157,73 @@ function drawers.register_drawer(name, def)
def.after_dig_node = pipeworks.after_dig def.after_dig_node = pipeworks.after_dig
end end
-- normal drawer 1x1 = 1 if drawers.enable_1x1 then
def1 = table.copy(def) -- normal drawer 1x1 = 1
def1.description = def.description .. " Drawer" def1 = table.copy(def)
def1.tiles = def.tiles or def.tiles1 def1.description = def.description .. " Drawer"
def1.tiles1 = nil def1.tiles = def.tiles or def.tiles1
def1.tiles2 = nil def1.tiles1 = nil
def1.tiles4 = nil def1.tiles2 = nil
def1.groups.drawer = 1 def1.tiles4 = nil
core.register_node(name .. "1", def1) def1.groups.drawer = 1
core.register_alias(name, name .. "1") -- 1x1 drawer is the default one core.register_node(name .. "1", def1)
core.register_alias(name, name .. "1") -- 1x1 drawer is the default one
end
-- 1x2 = 2 if drawers.enable_1x2 then
def2 = table.copy(def) -- 1x2 = 2
def2.description = def.description .. " Drawers (1x2)" def2 = table.copy(def)
def2.tiles = def.tiles2 def2.description = def.description .. " Drawers (1x2)"
def2.tiles1 = nil def2.tiles = def.tiles2
def2.tiles2 = nil def2.tiles1 = nil
def2.tiles4 = nil def2.tiles2 = nil
def2.groups.drawer = 2 def2.tiles4 = nil
core.register_node(name .. "2", def2) def2.groups.drawer = 2
core.register_node(name .. "2", def2)
end
-- 2x2 = 4 if drawers.enable_2x2 then
def4 = table.copy(def) -- 2x2 = 4
def4.description = def.description .. " Drawers (2x2)" def4 = table.copy(def)
def4.tiles = def.tiles4 def4.description = def.description .. " Drawers (2x2)"
def4.tiles1 = nil def4.tiles = def.tiles4
def4.tiles2 = nil def4.tiles1 = nil
def4.tiles4 = nil def4.tiles2 = nil
def4.groups.drawer = 4 def4.tiles4 = nil
core.register_node(name .. "4", def4) def4.groups.drawer = 4
core.register_node(name .. "4", def4)
end
if (not def.no_craft) and def.material then if (not def.no_craft) and def.material then
core.register_craft({ if drawers.enable_1x1 then
output = name .. "1", core.register_craft({
recipe = { output = name .. "1",
{def.material, def.material, def.material}, recipe = {
{ "", drawers.CHEST_ITEMSTRING, "" }, {def.material, def.material, def.material},
{def.material, def.material, def.material} { "", drawers.CHEST_ITEMSTRING, "" },
} {def.material, def.material, def.material}
}) }
core.register_craft({ })
output = name .. "2 2", end
recipe = { if drawers.enable_1x2 then
{def.material, drawers.CHEST_ITEMSTRING, def.material}, core.register_craft({
{def.material, def.material, def.material}, output = name .. "2 2",
{def.material, drawers.CHEST_ITEMSTRING, def.material} recipe = {
} {def.material, drawers.CHEST_ITEMSTRING, def.material},
}) {def.material, def.material, def.material},
core.register_craft({ {def.material, drawers.CHEST_ITEMSTRING, def.material}
output = name .. "4 4", }
recipe = { })
{drawers.CHEST_ITEMSTRING, def.material, drawers.CHEST_ITEMSTRING}, end
{ def.material, def.material, def.material }, if drawers.enable_2x2 then
{drawers.CHEST_ITEMSTRING, def.material, drawers.CHEST_ITEMSTRING} core.register_craft({
} output = name .. "4 4",
}) recipe = {
{drawers.CHEST_ITEMSTRING, def.material, drawers.CHEST_ITEMSTRING},
{ def.material, def.material, def.material },
{drawers.CHEST_ITEMSTRING, def.material, drawers.CHEST_ITEMSTRING}
}
})
end
end end
end end