aboutsummaryrefslogtreecommitdiff
path: root/src/onload/shop_signs.lua
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2020-06-10 18:07:54 +0200
committerElias Fleckenstein <eliasfleckenstein@web.de>2020-06-10 18:07:54 +0200
commit891fc7ef41049e8e29b160eef93b3e9233b4a97f (patch)
tree81075df217f50a26a31601c760c3610a8c19d882 /src/onload/shop_signs.lua
parentbbebb347801cd60ef7187ba39931ab3bf0f8a3d1 (diff)
downloadskycraft-891fc7ef41049e8e29b160eef93b3e9233b4a97f.tar.xz
LuckyBlock Updates
Diffstat (limited to 'src/onload/shop_signs.lua')
-rw-r--r--src/onload/shop_signs.lua35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/onload/shop_signs.lua b/src/onload/shop_signs.lua
new file mode 100644
index 0000000..217049e
--- /dev/null
+++ b/src/onload/shop_signs.lua
@@ -0,0 +1,35 @@
+for nodename, nodedef in pairs(minetest.registered_nodes) do
+ if nodename:find("mcl_signs:") then
+ minetest.override_item(nodename, {
+ on_rightclick = function(pos, node, player, itemstack, pointed_thing)
+ if pos.y < 5000 then return end
+ local text = minetest.get_meta(pos):get_string("text") or ""
+ local lines = text:split("\n")
+ local action, amount, price = lines[1], lines[2], lines[3]
+ print(action, amount, price)
+ if not (action and amount and price) then return end
+ price = string.gsub(price, "%$", "")
+ price = tonumber(price)
+ amount = string.gsub(amount, "x", "")
+ amount = tonumber(amount)
+ print(action, amount, price)
+ if not (amount and price) then return end
+ local func, frameoffset
+ if action == "Buy" then
+ func, frameoffset = skycraft.buy, -1
+ elseif action == "Sell" then
+ func, frameoffset = skycraft.sell, 1
+ else
+ return
+ end
+ local framepos = vector.add(pos, {x = 0, y = frameoffset, z = 0})
+ if minetest.get_node(framepos).name ~= "mcl_itemframes:item_frame" then return end
+ local inv = minetest.get_meta(framepos):get_inventory()
+ if inv:is_empty("main") then return end
+ local itemstack = inv:get_stack("main", 1)
+ func(player, itemstack:get_name() .. " " .. tostring(amount), price)
+ end,
+ })
+ end
+end
+