2014-11-09 22:17:41 +03:00
|
|
|
-- Node Box coords
|
|
|
|
local nb_gap = {
|
|
|
|
{-1, 0.1875, -0.0625, -0.5, 0.3125, 0.0625},
|
|
|
|
{-1, -0.1875, -0.0625, -0.5, -0.3125, 0.0625},
|
|
|
|
{0.5, 0.1875, -0.0625, 1, 0.3125, 0.0625},
|
|
|
|
{0.5, -0.1875, -0.0625, 1, -0.3125, 0.0625}
|
|
|
|
}
|
|
|
|
|
|
|
|
local nb_pil = {
|
|
|
|
{0.5, -0.5, -0.09375, 0.5625, 0.5, 0.09375},
|
|
|
|
{-0.5625, -0.5, -0.09375, -0.5, 0.5, 0.09375},
|
|
|
|
{-0.5, -0.3125, -0.0625, -0.375, 0.3125, 0.0625},
|
|
|
|
{0.375, -0.3125, -0.0625, 0.5, 0.3125, 0.0625}
|
|
|
|
}
|
|
|
|
|
|
|
|
-- Open/Close Gates
|
|
|
|
function gate_rightclick(pos, node)
|
2015-05-29 12:25:35 +03:00
|
|
|
local gate, open = unpack(string.split(node.name, "_", 2))
|
|
|
|
local gate = gate.."_"
|
|
|
|
local sound, name
|
2014-11-09 22:17:41 +03:00
|
|
|
if open == "open" then
|
2015-05-29 12:25:35 +03:00
|
|
|
sound = "close"
|
|
|
|
name = "closed"
|
2014-11-09 22:17:41 +03:00
|
|
|
else
|
2015-05-29 12:25:35 +03:00
|
|
|
sound = "open"
|
|
|
|
name = "open"
|
2014-11-09 22:17:41 +03:00
|
|
|
end
|
2015-05-29 12:25:35 +03:00
|
|
|
node.name = gate..name
|
|
|
|
minetest.set_node(pos, node)
|
2015-07-04 14:22:39 +03:00
|
|
|
minetest.sound_play("doors_door_"..sound, {
|
|
|
|
pos = pos,
|
|
|
|
gain = 0.3,
|
|
|
|
max_hear_distance = 10
|
|
|
|
})
|
2014-11-09 22:17:41 +03:00
|
|
|
end
|
|
|
|
|
2015-07-04 14:22:39 +03:00
|
|
|
local gates = {
|
|
|
|
{"wood", "Wood", "default_wood.png", "default:wood"},
|
|
|
|
{"junglewood", "Jungle Wood", "default_junglewood.png", "default:junglewood"},
|
|
|
|
{"scorched", "Scorched", "scorched_tree.png", "ethereal:scorched_tree"},
|
|
|
|
{"frostwood", "Frost Wood", "frost_wood.png", "ethereal:frost_wood"},
|
|
|
|
{"redwood", "Redwood", "redwood_wood.png", "ethereal:redwood_wood"},
|
|
|
|
{"willow", "Willow", "willow_wood.png", "ethereal:willow_wood"},
|
|
|
|
{"yellowwood", "Healing Wood", "yellow_wood.png", "ethereal:yellow_wood"},
|
|
|
|
{"palm", "Palm Wood", "moretrees_palm_wood.png", "ethereal:palm_wood"},
|
|
|
|
{"banana", "Banana Wood", "banana_wood.png", "ethereal:banana_wood"},
|
|
|
|
{"mushroom", "Mushroom", "mushroom_trunk.png", "ethereal:mushroom_trunk"},
|
|
|
|
{"acacia", "Acacia Wood", "moretrees_acacia_wood.png", "ethereal:acacia_wood"},
|
2015-08-13 11:05:12 +03:00
|
|
|
{"pine", "Pine Wood", "default_pine_wood.png", "default:pinewood"},
|
2015-11-14 13:21:06 +03:00
|
|
|
{"birch", "Birch Wood", "moretrees_birch_wood.png", "ethereal:birch_wood"},
|
2014-11-09 22:17:41 +03:00
|
|
|
}
|
|
|
|
|
2015-07-04 14:22:39 +03:00
|
|
|
for _, row in pairs(gates) do
|
|
|
|
|
|
|
|
minetest.register_node("ethereal:"..row[1].."gate_open", {
|
|
|
|
tiles = {row[3]},
|
2014-11-09 22:17:41 +03:00
|
|
|
paramtype = "light",
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
sunlight_propagates = true,
|
2015-06-24 12:00:12 +03:00
|
|
|
is_ground_content = false,
|
2014-11-09 22:17:41 +03:00
|
|
|
walkable = true,
|
|
|
|
groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, not_in_inventory = 1},
|
2015-07-04 14:22:39 +03:00
|
|
|
drop = "ethereal:"..row[1].."gate_closed",
|
2014-11-09 22:17:41 +03:00
|
|
|
drawtype = "nodebox",
|
|
|
|
node_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {
|
|
|
|
{-0.5, -0.3125, 0.4375, -0.375, 0.3125, 0.5},
|
|
|
|
{0.375, -0.3125, 0.4375, 0.5, 0.3125, 0.5},
|
|
|
|
{-0.5, 0.1875, 0.0625, -0.375, 0.3125, 0.4375},
|
|
|
|
{-0.5, -0.1875, 0.0625, -0.375, -0.3125, 0.4375},
|
|
|
|
{0.375, 0.1875, 0.0625, 0.5, 0.3125, 0.4375},
|
|
|
|
{0.375, -0.1875, 0.0625, 0.5, -0.3125, 0.4375},
|
|
|
|
nb_pil[1], nb_pil[2],
|
|
|
|
nb_pil[3], nb_pil[4],
|
|
|
|
nb_gap[1], nb_gap[2],
|
|
|
|
nb_gap[3], nb_gap[4],
|
|
|
|
}
|
|
|
|
},
|
|
|
|
selection_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {
|
|
|
|
{-0.5, -0.3125, -0.0625, -0.375, 0.3125, 0.5},
|
|
|
|
{0.375, -0.3125, -0.0625, 0.5, 0.3125, 0.5},
|
|
|
|
}
|
|
|
|
},
|
|
|
|
on_rightclick = gate_rightclick,
|
|
|
|
})
|
|
|
|
|
2015-07-04 14:22:39 +03:00
|
|
|
minetest.register_node("ethereal:"..row[1].."gate_closed", {
|
|
|
|
description = row[2].." Gate",
|
|
|
|
tiles = {row[3]},
|
|
|
|
inventory_image = "default_gate_overlay.png^"..row[3].."^default_gate_overlay.png^[makealpha:255,126,126",
|
|
|
|
wield_image = "default_gate_overlay.png^"..row[3].."^default_gate_overlay.png^[makealpha:255,126,126",
|
2014-11-09 22:17:41 +03:00
|
|
|
paramtype = "light",
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
sunlight_propagates = true,
|
|
|
|
walkable = true,
|
|
|
|
groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
|
|
drawtype = "nodebox",
|
|
|
|
node_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {
|
|
|
|
nb_pil[1], nb_pil[2],
|
|
|
|
nb_pil[3], nb_pil[4],
|
|
|
|
{-0.0625, -0.3125, -0.0625, 0.0625, 0.3125, 0.0625},
|
|
|
|
{-1, 0.1875, -0.0625, 1, 0.3125, 0.0625},
|
|
|
|
{-1, -0.1875, -0.0625, 1, -0.3125, 0.0625},
|
|
|
|
}
|
|
|
|
},
|
|
|
|
selection_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {{-0.5, -0.3125, -0.0625, 0.5, 0.3125, 0.0625}}
|
|
|
|
},
|
|
|
|
on_rightclick = gate_rightclick,
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2015-07-04 14:22:39 +03:00
|
|
|
output = "ethereal:"..row[1].."gate_closed",
|
2014-11-09 22:17:41 +03:00
|
|
|
recipe = {
|
2015-07-04 14:22:39 +03:00
|
|
|
{"group:stick", row[4], "group:stick"},
|
|
|
|
{"group:stick", row[4], "group:stick"},
|
2014-11-09 22:17:41 +03:00
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2015-07-04 14:22:39 +03:00
|
|
|
end
|