diff --git a/mods/creative/inventory.lua b/mods/creative/inventory.lua index 5b36f533..9b54da55 100644 --- a/mods/creative/inventory.lua +++ b/mods/creative/inventory.lua @@ -194,10 +194,31 @@ function creative.register_tab(name, title, items) }) end +-- Sort registered items +registered_nodes = {} +registered_tools = {} +registered_craftitems = {} + +for registered in pairs(minetest.registered_items) do + group = minetest.registered_items[registered].groups + + if group.node or minetest.registered_nodes[registered] then + registered_nodes[registered] = minetest.registered_items[registered] + end + + if group.tool or minetest.registered_tools[registered] then + registered_tools[registered] = minetest.registered_items[registered] + end + + if group.craftitem or minetest.registered_craftitems[registered] then + registered_craftitems[registered] = minetest.registered_items[registered] + end +end + creative.register_tab("all", S("All"), minetest.registered_items) -creative.register_tab("nodes", S("Nodes"), minetest.registered_nodes) -creative.register_tab("tools", S("Tools"), minetest.registered_tools) -creative.register_tab("craftitems", S("Items"), minetest.registered_craftitems) +creative.register_tab("nodes", S("Nodes"), registered_nodes) +creative.register_tab("tools", S("Tools"), registered_tools) +creative.register_tab("craftitems", S("Items"), registered_craftitems) local old_homepage_name = sfinv.get_homepage_name function sfinv.get_homepage_name(player) diff --git a/mods/creative/mod.conf b/mods/creative/mod.conf index 0b3f745d..c540aa83 100644 --- a/mods/creative/mod.conf +++ b/mods/creative/mod.conf @@ -1,3 +1,4 @@ name = creative description = Minetest Game mod: creative depends = default, sfinv +optional_depends = beds diff --git a/mods/doors/init.lua b/mods/doors/init.lua index ee4a188c..5bfa1d42 100644 --- a/mods/doors/init.lua +++ b/mods/doors/init.lua @@ -457,7 +457,7 @@ doors.register("door_wood", { tiles = {{ name = "doors_door_wood.png", backface_culling = true }}, description = S("Wooden Door"), inventory_image = "doors_item_wood.png", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, recipe = { {"group:wood", "group:wood"}, {"group:wood", "group:wood"}, @@ -470,7 +470,7 @@ doors.register("door_steel", { description = S("Steel Door"), inventory_image = "doors_item_steel.png", protected = true, - groups = {cracky = 1, level = 2}, + groups = {node = 1, cracky = 1, level = 2}, sounds = default.node_sound_metal_defaults(), sound_open = "doors_steel_door_open", sound_close = "doors_steel_door_close", @@ -485,7 +485,7 @@ doors.register("door_glass", { tiles = {"doors_door_glass.png"}, description = S("Glass Door"), inventory_image = "doors_item_glass.png", - groups = {cracky=3, oddly_breakable_by_hand=3}, + groups = {node = 1, cracky=3, oddly_breakable_by_hand=3}, sounds = default.node_sound_glass_defaults(), sound_open = "doors_glass_door_open", sound_close = "doors_glass_door_close", @@ -500,7 +500,7 @@ doors.register("door_obsidian_glass", { tiles = {"doors_door_obsidian_glass.png"}, description = S("Obsidian Glass Door"), inventory_image = "doors_item_obsidian_glass.png", - groups = {cracky=3}, + groups = {node = 1, cracky=3}, sounds = default.node_sound_glass_defaults(), sound_open = "doors_glass_door_open", sound_close = "doors_glass_door_close", diff --git a/mods/xpanes/init.lua b/mods/xpanes/init.lua index 758fbbb7..6951a0ee 100644 --- a/mods/xpanes/init.lua +++ b/mods/xpanes/init.lua @@ -219,7 +219,7 @@ if minetest.get_modpath("doors") then description = S("Steel Bar Door"), inventory_image = "xpanes_item_steel_bar.png", protected = true, - groups = {cracky = 1, level = 2}, + groups = {node = 1, cracky = 1, level = 2}, sounds = default.node_sound_metal_defaults(), sound_open = "xpanes_steel_bar_door_open", sound_close = "xpanes_steel_bar_door_close", @@ -237,7 +237,7 @@ if minetest.get_modpath("doors") then tile_front = "xpanes_trapdoor_steel_bar.png", tile_side = "xpanes_trapdoor_steel_bar_side.png", protected = true, - groups = {cracky = 1, level = 2, door = 1}, + groups = {node = 1, cracky = 1, level = 2, door = 1}, sounds = default.node_sound_metal_defaults(), sound_open = "xpanes_steel_bar_door_open", sound_close = "xpanes_steel_bar_door_close",