diff --git a/mods/ITEMS/mcl_chests/api.lua b/mods/ITEMS/mcl_chests/api.lua index fb6142f85..aaea8eb21 100644 --- a/mods/ITEMS/mcl_chests/api.lua +++ b/mods/ITEMS/mcl_chests/api.lua @@ -495,6 +495,11 @@ function mcl_chests.register_chest(basename, d) -- If this passes without crash, we know for a fact that d = {...} assert((d and type(d) == "table"), "Second argument to mcl_chests.register_chest must be a table") + -- Fallback for when there is no `title` field + if not d.title then d.title = {} end + d.title.small = d.title.small or d.desc + d.title.double = d.title.double or ("Large " .. d.title.small) + if not d.drop then d.drop = "mcl_chests:" .. basename else @@ -686,7 +691,7 @@ function mcl_chests.register_chest(basename, d) end local name = minetest.get_meta(pos):get_string("name") if name == "" then - name = S("Chest") + name = d.title.small end minetest.show_formspec(clicker:get_player_name(), @@ -777,7 +782,7 @@ function mcl_chests.register_chest(basename, d) if name == "" then -- if empty after that ^ name = minetest.get_meta(pos_other):get_string("name") end if name == "" then -- if STILL empty after that ^ - name = S("Large Chest") + name = d.title.double end minetest.show_formspec(clicker:get_player_name(), @@ -872,7 +877,7 @@ function mcl_chests.register_chest(basename, d) if name == "" then -- if empty after that ^ name = minetest.get_meta(pos_other):get_string("name") end if name == "" then -- if STILL empty after that ^ - name = S("Large Chest") + name = d.title.double end minetest.show_formspec(clicker:get_player_name(), diff --git a/mods/ITEMS/mcl_chests/chests.lua b/mods/ITEMS/mcl_chests/chests.lua index e0dc3b57a..935872707 100644 --- a/mods/ITEMS/mcl_chests/chests.lua +++ b/mods/ITEMS/mcl_chests/chests.lua @@ -39,6 +39,10 @@ local traptiles = { mcl_chests.register_chest("trapped_chest", { desc = S("Trapped Chest"), + title = { + small = S("Chest"), + double = S("Large Chest") + }, longdesc = S( "A trapped chest is a container which provides 27 inventory slots. When it is opened, it sends a redstone " .. "signal to its adjacent blocks as long it stays open. Trapped chests can be turned into large trapped " .. @@ -101,6 +105,10 @@ mcl_chests.register_chest("trapped_chest", { mcl_chests.register_chest("trapped_chest_on", { desc = nil, + title = { + small = S("Chest"), + double = S("Large Chest") + }, longdesc = nil, usagehelp = nil, tt_help = nil, diff --git a/mods/ITEMS/mcl_chests/example.lua b/mods/ITEMS/mcl_chests/example.lua new file mode 100644 index 000000000..135432ff1 --- /dev/null +++ b/mods/ITEMS/mcl_chests/example.lua @@ -0,0 +1,44 @@ +local S = minetest.get_translator(minetest.get_current_modname()) +local F = minetest.formspec_escape +local C = minetest.colorize +local get_double_container_neighbor_pos = mcl_util.get_double_container_neighbor_pos +local trapped_chest_mesecons_rules = mesecon.rules.pplate + +mcl_chests.register_chest("stone_chest", { + desc = S("Stone Chest"), + large_desc = S("Large Stone Chest"), + longdesc = S( + "Stone Chests are containers which provide 27 inventory slots. Stone Chests can be turned into" .. + "large stone chests with double the capacity by placing two stone chests next to each other." + ), + usagehelp = S("To access its inventory, rightclick it. When broken, the items will drop out."), + tt_help = S("27 inventory slots") .. "\n" .. S("Can be combined to a large stone chest"), + tiles = { + small = { mcl_chests.tiles.chest_normal_small[1] .. "^[hsl:-15:-80:-20" }, + double = { mcl_chests.tiles.chest_normal_double[1] .. "^[hsl:-15:-80:-20" }, + inv = { "default_chest_top.png^[hsl:-15:-80:-20", + "mcl_chests_chest_bottom.png^[hsl:-15:-80:-20", + "mcl_chests_chest_right.png^[hsl:-15:-80:-20", + "mcl_chests_chest_left.png^[hsl:-15:-80:-20", + "mcl_chests_chest_back.png^[hsl:-15:-80:-20", + "default_chest_front.png^[hsl:-15:-80:-20" + }, + }, + groups = { + pickaxey = 1, + stone = 1, + material_stone = 1, + }, + sounds = mcl_sounds.node_sound_stone_defaults(), + hardness = 4.0, + hidden = false, +}) + +minetest.register_craft({ + output = "mcl_chests:stone_chest", + recipe = { + { "mcl_core:stone", "mcl_core:stone", "mcl_core:stone" }, + { "mcl_core:stone", "", "mcl_core:stone" }, + { "mcl_core:stone", "mcl_core:stone", "mcl_core:stone" }, + }, +}) diff --git a/mods/ITEMS/mcl_chests/init.lua b/mods/ITEMS/mcl_chests/init.lua index 741a3a523..bea6b9496 100644 --- a/mods/ITEMS/mcl_chests/init.lua +++ b/mods/ITEMS/mcl_chests/init.lua @@ -41,6 +41,7 @@ dofile(modpath .. "/api.lua") dofile(modpath .. "/chests.lua") dofile(modpath .. "/ender.lua") dofile(modpath .. "/shulkers.lua") +--dofile(modpath .. "/example.lua")