diff options
author | Carter Kolwey <cheapiephp@gmail.com> | 2017-03-22 19:39:44 -0500 |
---|---|---|
committer | Carter Kolwey <cheapiephp@gmail.com> | 2017-03-22 19:39:44 -0500 |
commit | 70e998e04019e3f9a2f2aace05ca826b1afbca46 (patch) | |
tree | 72eebdb54519fbd7a7f7628dac8109d9bd976d4c | |
parent | 2be459a49a47a247d3ea947f715007b23dafdde9 (diff) | |
download | currency-70e998e04019e3f9a2f2aace05ca826b1afbca46.tar.gz currency-70e998e04019e3f9a2f2aace05ca826b1afbca46.tar.bz2 currency-70e998e04019e3f9a2f2aace05ca826b1afbca46.zip |
Add pipeworks support to shop
Tubes place items into "Your Stock", and filters (must be owned by the shop owner) take from "Customers Gave"
-rw-r--r-- | depends.txt | 3 | ||||
-rw-r--r-- | shop.lua | 18 |
2 files changed, 19 insertions, 2 deletions
diff --git a/depends.txt b/depends.txt index 331d858..d3f04d8 100644 --- a/depends.txt +++ b/depends.txt @@ -1 +1,2 @@ -default
\ No newline at end of file +default +pipeworks? @@ -90,7 +90,7 @@ minetest.register_node("currency:shop", { "shop_side.png",
"shop_front.png"},
inventory_image = "shop_front.png",
- groups = {choppy=2,oddly_breakable_by_hand=2},
+ groups = {choppy=2,oddly_breakable_by_hand=2,tubedevice=1,tubedevice_receiver=1},
sounds = default.node_sound_wood_defaults(),
after_place_node = function(pos, placer, itemstack)
local owner = placer:get_player_name()
@@ -104,7 +104,23 @@ minetest.register_node("currency:shop", { inv:set_size("stock", 3*2)
inv:set_size("owner_wants", 3*2)
inv:set_size("owner_gives", 3*2)
+ if minetest.get_modpath("pipeworks") then pipeworks.after_place(pos) end
end,
+ after_dig_node = (pipeworks and pipeworks.after_dig),
+ tube = {
+ insert_object = function(pos, node, stack, direction)
+ local meta = minetest.get_meta(pos)
+ local inv = meta:get_inventory()
+ return inv:add_item("stock",stack)
+ end,
+ can_insert = function(pos,node,stack,direction)
+ local meta = minetest.get_meta(pos)
+ local inv = meta:get_inventory()
+ return inv:room_for_item("stock", stack)
+ end,
+ input_inventory = "customers_gave",
+ connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1}
+ },
on_rightclick = function(pos, node, clicker, itemstack)
clicker:get_inventory():set_size("customer_gives", 3*2)
clicker:get_inventory():set_size("customer_gets", 3*2)
|