From 6053422cf292995b2a004ca0a21c640505ef32bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20P=C3=A9rez-Cerezo?= Date: Thu, 31 Aug 2017 12:51:07 +0200 Subject: Added faregates --- faregate.lua | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 faregate.lua (limited to 'faregate.lua') diff --git a/faregate.lua b/faregate.lua new file mode 100644 index 0000000..a065002 --- /dev/null +++ b/faregate.lua @@ -0,0 +1,81 @@ +-- Faregates +-- Copyright (c) 2017 Gabriel PĂ©rez-Cerezo, see LICENSE file for more details. +-- Nodeboxes generated with NodeBoxEditor. + +minetest.register_node("farebox:faregate", { + tiles = { + "default_steel_block.png" + }, + drawtype = "nodebox", + paramtype = "light", + description = "Faregate", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.4375, -0.4375, 0.5, 0.4375}, -- NodeBox3 + {0.4375, -0.5, -0.4375, 0.5, 0.5, 0.4375}, -- NodeBox5 + {-0.4375, -0.5, -0.0625, -0.0625, 0.6875, 0}, -- NodeBox6 + {0.0625, -0.5, -0.0625, 0.4375, 0.6875, 0}, -- NodeBox7 + } + }, + mesecons = { + effector = { + rules = mesecon.rules.default, + action_on = function (pos, node) + farebox.open_faregate(pos) + minetest.after(1, farebox.close_faregate, pos) + end, + }}, + can_dig = can_dig, + after_place_node = function(pos, player, _) + local meta = minetest.get_meta(pos) + local player_name = player:get_player_name() + + meta:set_string("owner", player_name) + meta:set_string("infotext", "Owned by "..player_name) + + local inv = meta:get_inventory() + inv:set_size("request", 1) + inv:set_size("main", 32) + end, + groups = {cracky=3}, + on_rightclick = function(pos, node, player, itemstack, pointed_thing) + farebox.show_formspec(pos, player) + end, + +}) + +minetest.register_node("farebox:faregate_open", { + tiles = { + "default_steel_block.png" + }, + description = "Open Faregate", + mesecons = { + effector = { + rules = mesecon.rules.default, + action_on = function (pos, node) + farebox.close_faregate(pos) + end, + }}, + groups = {not_in_creative_inventory = 1, cracky=3}, + drawtype = "nodebox", + paramtype = "light", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.4375, -0.4375, 0.5, 0.4375}, -- NodeBox3 + {0.4375, -0.5, -0.4375, 0.5, 0.5, 0.4375}, -- NodeBox5 + {-0.4375, -0.5, -0.0625, -0.375, 0.6875, 0.3125}, -- NodeBox6 + {0.375, -0.5, -0.0625, 0.4375, 0.6875, 0.3125}, -- NodeBox7 + } + }, + drop = "farebox:faregate" +}) + +minetest.register_craft({output = "farebox:faregate", + recipe = { + + + {"farebox:farebox", "doors:door_steel"}, + } +}) -- cgit v1.2.3