parent
5a4fed509d
commit
9d31a7f109
|
@ -17,15 +17,73 @@
|
|||
--Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
---
|
||||
|
||||
--[[
|
||||
New change by fairiestoy:
|
||||
Implement a block, which allows to send mesecon signals
|
||||
after a payment. This could be useful for exclusive access
|
||||
to specific rooms only for example.
|
||||
]]
|
||||
|
||||
|
||||
vendor = {}
|
||||
vendor.version = 1.1
|
||||
vendor.tax = 0.01
|
||||
vendor.time_setting = 2 -- indicates the amount ( in seconds ) after which the mesecon signal is turned off again.
|
||||
|
||||
|
||||
dofile(minetest.get_modpath("vendor") .. "/vendor.lua")
|
||||
|
||||
-- comment out this line to disable logging
|
||||
dofile(minetest.get_modpath("vendor").."/log.lua")
|
||||
|
||||
|
||||
-- Register Start Mese Vendor By fairiestoy
|
||||
if minetest.get_modpath("mesecons") ~= nil then
|
||||
minetest.register_node( 'vendor:signal_vendor_off', {
|
||||
description = 'Signal Vendor',
|
||||
tile_images = {'vendor_side.png', 'vendor_side.png', 'vendor_side.png',
|
||||
'vendor_side.png', 'vendor_side.png', 'vendor_vendor_front.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||
after_place_node = function( pos, placer )
|
||||
print( 'Placed a new signal vendor')
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
meta:set_int("cost", 0)
|
||||
meta:set_int("limit", 0)
|
||||
meta:set_string("owner", placer:get_player_name() or "")
|
||||
meta:set_string("formspec", vendor.mese_formspec(pos, placer))
|
||||
local description = minetest.registered_nodes[minetest.env:get_node(pos).name].description
|
||||
vendor.disable(pos, "New " .. description)
|
||||
end,
|
||||
can_dig = vendor.can_dig,
|
||||
on_receive_fields = vendor.mese_on_receive_fields,
|
||||
on_punch = vendor.mese_on_punch,
|
||||
mesecons = {receptor = {
|
||||
state = mesecon.state.off,
|
||||
rules = mesecon.rules.buttonlike_get
|
||||
}},
|
||||
})
|
||||
|
||||
minetest.register_node( 'vendor:signal_vendor_on', {
|
||||
description = 'Signal Vendor',
|
||||
tile_images = {'vendor_side.png', 'vendor_side.png', 'vendor_side.png',
|
||||
'vendor_side.png', 'vendor_side.png', 'vendor_vendor_front.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
drop = 'vendor:signal_vendor_off',
|
||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||
mesecons = {receptor = {
|
||||
state = mesecon.state.on,
|
||||
rules = mesecon.rules.buttonlike_get
|
||||
}},
|
||||
})
|
||||
end
|
||||
-- Register End Mese Vendor By fairiestoy
|
||||
|
||||
|
||||
|
||||
|
||||
minetest.register_node("vendor:vendor", {
|
||||
description = "Vending Machine",
|
||||
tile_images ={"vendor_side.png", "vendor_side.png", "vendor_side.png",
|
||||
|
@ -54,6 +112,17 @@ minetest.register_node("vendor:depositor", {
|
|||
on_punch = vendor.on_punch,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("mesecons") ~= nil then
|
||||
minetest.register_craft({
|
||||
output = 'vendor:signal_vendor_off',
|
||||
recipe = {
|
||||
{'default:wood', 'default:wood', 'default:wood'},
|
||||
{'default:wood', 'default:steel_ingot', 'default:wood'},
|
||||
{'default:wood', 'mesecons:wire_00000000_off', 'default:wood'},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'vendor:vendor',
|
||||
recipe = {
|
||||
|
|
Loading…
Reference in New Issue