From e32c9b72b84cd934610250d24e18de2c0215685a Mon Sep 17 00:00:00 2001 From: sys4-fr Date: Sun, 7 Jan 2018 18:28:53 +0100 Subject: [PATCH] Minercantile items are now craftable Barter shop and bancomatic are craftable by anyone but to administrate the barter shop the player must have the shop privilege. (and ask to get it) Anyway a non priviligied user can use his barter shop, but it will be limited to sell/bye objects from the General group that is administrated by players with the shop privilege. --- mods/nalc/depends.txt | 1 + mods/nalc/init.lua | 3 +- mods/nalc/maptools.lua | 86 ++++++++++++++++++++------------------ mods/nalc/minercantile.lua | 39 +++++++++++++++++ 4 files changed, 87 insertions(+), 42 deletions(-) create mode 100644 mods/nalc/minercantile.lua diff --git a/mods/nalc/depends.txt b/mods/nalc/depends.txt index fc527346..7c3381cf 100644 --- a/mods/nalc/depends.txt +++ b/mods/nalc/depends.txt @@ -22,3 +22,4 @@ dye? cherry_tree? nether? mobs_animal? +minercantile? diff --git a/mods/nalc/init.lua b/mods/nalc/init.lua index e439e3e2..c6bae267 100644 --- a/mods/nalc/init.lua +++ b/mods/nalc/init.lua @@ -21,7 +21,8 @@ local mods = "beds", "boats", "bucket", "nyancat", "moreores", "moreblocks", "maptools", "doors", "flowers", - "carts", "nether", "mobs_animal" + "carts", "nether", "mobs_animal", + "minercantile" } for _,mod in ipairs(mods) do diff --git a/mods/nalc/maptools.lua b/mods/nalc/maptools.lua index f7478d93..73fb19dd 100644 --- a/mods/nalc/maptools.lua +++ b/mods/nalc/maptools.lua @@ -136,16 +136,18 @@ minetest.override_item( } }) -minetest.override_item( - "default:stone_with_tin", - { - drop = { - items = { - {items = {"default:tin_lump"}}, - {items = {"maptools:copper_coin 3"}} +if minetest.registered_items["default:stone_with_tin"] then + minetest.override_item( + "default:stone_with_tin", + { + drop = { + items = { + {items = {"default:tin_lump"}}, + {items = {"maptools:copper_coin 3"}} + } } - } - }) + }) +end minetest.override_item( "nalc:desert_stone_with_tin", { @@ -157,27 +159,6 @@ minetest.override_item( } }) -minetest.override_item( - "moreores:mineral_silver", - { - drop = { - items = { - {items = {"moreores:silver_lump"}}, - {items = {"maptools:copper_coin 3"}} - } - } - }) -minetest.override_item( - "nalc:desert_stone_with_silver", - { - drop = { - items = { - {items = {"moreores:silver_lump"}}, - {items = {"maptools:copper_coin 3"}} - } - } - }) - minetest.override_item( "default:stone_with_mese", { @@ -200,17 +181,6 @@ minetest.override_item( } }) -minetest.override_item( - "moreores:mineral_mithril", - { - drop = { - items = { - {items = {"moreores:mithril_lump"}}, - {items = {"maptools:silver_coin 3"}}, - } - } - }) - minetest.override_item( "default:stone_with_diamond", { @@ -221,3 +191,37 @@ minetest.override_item( } } }) + +if minetest.get_modpath("moreores") then + minetest.override_item( + "moreores:mineral_silver", + { + drop = { + items = { + {items = {"moreores:silver_lump"}}, + {items = {"maptools:copper_coin 3"}} + } + } + }) + + minetest.override_item( + "moreores:mineral_mithril", + { + drop = { + items = { + {items = {"moreores:mithril_lump"}}, + {items = {"maptools:silver_coin 3"}}, + } + } + }) + minetest.override_item( + "nalc:desert_stone_with_silver", + { + drop = { + items = { + {items = {"moreores:silver_lump"}}, + {items = {"maptools:copper_coin 3"}} + } + } + }) +end diff --git a/mods/nalc/minercantile.lua b/mods/nalc/minercantile.lua new file mode 100644 index 00000000..035353d5 --- /dev/null +++ b/mods/nalc/minercantile.lua @@ -0,0 +1,39 @@ +if minetest.get_modpath("minercantile") then + -- Register crafts for minercantile items + + -- Barter shop + minetest.register_craft( + { output = "minercantile:shop", + recipe = { + {"default:steel_ingot","default:steel_ingot","default:steel_ingot"}, + {"default:skeleton_key","maptools:silver_coin","default:steel_ingot"}, + {"default:steel_ingot","default:mese_crystal","default:steel_ingot"} + } + }) + + -- Bancomatic + minetest.register_craft( + { output = "minercantile:bancomatic_bottom", + recipe = { + {"default:steel_ingot","default:mese_crystal","default:steel_ingot"}, + {"maptools:copper_coin","maptools:silver_coin","maptools:gold_coin"}, + {"default:steel_ingot","default:steel_ingot","default:steel_ingot"} + } + }) + + -- Fix bancomatic duplication item bug + local on_place = minetest.registered_items["minercantile:bancomatic_bottom"].on_place + minetest.override_item( + "minercantile:bancomatic_bottom", + { + on_place = function(itemstack, placer, pointed_thing) + if not on_place(itemstack, placer, pointed_thing) then + + itemstack:take_item() + return itemstack + end + end + }) +end + +