summaryrefslogtreecommitdiff
path: root/technic/machines/register/electric_furnace.lua
diff options
context:
space:
mode:
Diffstat (limited to 'technic/machines/register/electric_furnace.lua')
-rw-r--r--technic/machines/register/electric_furnace.lua43
1 files changed, 26 insertions, 17 deletions
diff --git a/technic/machines/register/electric_furnace.lua b/technic/machines/register/electric_furnace.lua
index 84bcbf0..03704c1 100644
--- a/technic/machines/register/electric_furnace.lua
+++ b/technic/machines/register/electric_furnace.lua
@@ -1,6 +1,20 @@
local S = technic.getter
+local tube = {
+ insert_object = function(pos, node, stack, direction)
+ local meta = minetest.get_meta(pos)
+ local inv = meta:get_inventory()
+ return inv:add_item("src",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("src", stack)
+ end,
+ connect_sides = {left=1, right=1, back=1, top=1, bottom=1},
+}
+
function technic.register_electric_furnace(data)
local tier = data.tier
local ltier = string.lower(tier)
@@ -8,19 +22,14 @@ function technic.register_electric_furnace(data)
local tube_side_texture = data.tube and "technic_"..ltier.."_electric_furnace_side_tube.png"
or "technic_"..ltier.."_electric_furnace_side.png"
- local tube = {
- insert_object = function(pos, node, stack, direction)
- local meta = minetest.get_meta(pos)
- local inv = meta:get_inventory()
- return inv:add_item("src",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("src", stack)
- end,
- connect_sides = {left=1, right=1, back=1, top=1, bottom=1},
- }
+ local groups = {cracky=2}
+ local active_groups = {cracky=2, not_in_creative_inventory=1}
+ if data.tube then
+ groups.tubedevice = 1
+ groups.tubedevice_receiver = 1
+ active_groups.tubedevice = 1
+ active_groups.tubedevice_receiver = 1
+ end
local formspec =
"invsize[8,10;]"..
@@ -46,10 +55,10 @@ function technic.register_electric_furnace(data)
"technic_"..ltier.."_electric_furnace_side.png",
"technic_"..ltier.."_electric_furnace_front.png"},
paramtype2 = "facedir",
- groups = {cracky=2, tubedevice=1, tubedevice_receiver=1},
+ groups = groups,
legacy_facedir_simple = true,
sounds = default.node_sound_stone_defaults(),
- tube = tube,
+ tube = data.tube and tube or nil,
technic = data,
on_construct = function(pos)
local meta = minetest.get_meta(pos)
@@ -87,11 +96,11 @@ function technic.register_electric_furnace(data)
"technic_"..ltier.."_electric_furnace_side.png",
"technic_"..ltier.."_electric_furnace_front_active.png"},
paramtype2 = "facedir",
- groups = {cracky=2, tubedevice=1, tubedevice_receiver=1, not_in_creative_inventory=1},
+ groups = active_groups,
light_source = 8,
legacy_facedir_simple = true,
sounds = default.node_sound_stone_defaults(),
- tube = tube,
+ tube = data.tube and tube or nil,
technic = data,
on_construct = function(pos)
local meta = minetest.get_meta(pos)