From e2a8c0306621e1e9d86a2a97271000606da7b3a0 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Wed, 30 Jul 2014 14:13:17 -0400 Subject: [PATCH] get rid of the old pipeworks clone node function use minetest.override_item() instead --- compat.lua | 151 ++++++++++++++++++++++++++--------------------------- 1 file changed, 75 insertions(+), 76 deletions(-) diff --git a/compat.lua b/compat.lua index e80fa62..d96eeef 100644 --- a/compat.lua +++ b/compat.lua @@ -1,25 +1,17 @@ -- this bit of code modifies the default chests and furnaces to be compatible -- with pipeworks. -function pipeworks.clone_node(name) - local node2 = {} - local node = minetest.registered_nodes[name] - for k, v in pairs(node) do - node2[k] = v - end - return node2 -end - -local furnace = pipeworks.clone_node("default:furnace") - furnace.tiles[1] = "default_furnace_top.png^pipeworks_tube_connection_stony.png" - furnace.tiles[2] = "default_furnace_bottom.png^pipeworks_tube_connection_stony.png" - furnace.tiles[3] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" - furnace.tiles[4] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" - furnace.tiles[5] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" - -- note we don't redefine entry 6 ( front) - furnace.groups.tubedevice = 1 - furnace.groups.tubedevice_receiver = 1 - furnace.tube = { +minetest.override_item("default:furnace", { + tiles = { + "default_furnace_top.png^pipeworks_tube_connection_stony.png", + "default_furnace_bottom.png^pipeworks_tube_connection_stony.png", + "default_furnace_side.png^pipeworks_tube_connection_stony.png", + "default_furnace_side.png^pipeworks_tube_connection_stony.png", + "default_furnace_side.png^pipeworks_tube_connection_stony.png", + "default_furnace_front.png" + }, + groups = {cracky=2, tubedevice = 1, tubedevice_receiver = 1 }, + tube = { insert_object = function(pos, node, stack, direction) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() @@ -40,26 +32,35 @@ local furnace = pipeworks.clone_node("default:furnace") end, input_inventory = "dst", connect_sides = {left=1, right=1, back=1, front=1, bottom=1, top=1} - } - furnace.after_place_node = function(pos) + }, + after_place_node = function(pos) pipeworks.scan_for_tube_objects(pos) - end - furnace.after_dig_node = function(pos) + end, + after_dig_node = function(pos) pipeworks.scan_for_tube_objects(pos) end +}) -minetest.register_node(":default:furnace", furnace) - -local furnace_active = pipeworks.clone_node("default:furnace_active") - furnace_active.tiles[1] = "default_furnace_top.png^pipeworks_tube_connection_stony.png" - furnace_active.tiles[2] = "default_furnace_bottom.png^pipeworks_tube_connection_stony.png" - furnace_active.tiles[3] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" - furnace_active.tiles[4] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" - furnace_active.tiles[5] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" - -- note we don't redefine entry 6 (front) - furnace_active.groups.tubedevice = 1 - furnace_active.groups.tubedevice_receiver = 1 - furnace_active.tube = { +minetest.override_item("default:furnace_active", { + tiles = { + "default_furnace_top.png^pipeworks_tube_connection_stony.png", + "default_furnace_bottom.png^pipeworks_tube_connection_stony.png", + "default_furnace_side.png^pipeworks_tube_connection_stony.png", + "default_furnace_side.png^pipeworks_tube_connection_stony.png", + "default_furnace_side.png^pipeworks_tube_connection_stony.png", + { + image = "default_furnace_front_active.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1.5 + }, + } + }, + groups = {cracky=2, tubedevice = 1, tubedevice_receiver = 1 }, + tube = { insert_object = function(pos,node,stack,direction) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() @@ -80,27 +81,26 @@ local furnace_active = pipeworks.clone_node("default:furnace_active") end, input_inventory = "dst", connect_sides = {left=1, right=1, back=1, front=1, bottom=1, top=1} - } - furnace_active.after_place_node= function(pos) + }, + after_place_node= function(pos) pipeworks.scan_for_tube_objects(pos) - end - furnace_active.after_dig_node = function(pos) + end, + after_dig_node = function(pos) pipeworks.scan_for_tube_objects(pos) end +}) -minetest.register_node(":default:furnace_active", furnace_active) - - -local chest = pipeworks.clone_node("default:chest") - chest.tiles[1] = "default_chest_top.png^pipeworks_tube_connection_wooden.png" - chest.tiles[2] = "default_chest_top.png^pipeworks_tube_connection_wooden.png" - chest.tiles[3] = "default_chest_side.png^pipeworks_tube_connection_wooden.png" - chest.tiles[4] = "default_chest_side.png^pipeworks_tube_connection_wooden.png" - chest.tiles[5] = "default_chest_side.png^pipeworks_tube_connection_wooden.png" - -- note we don't redefine entry 6 (front). - chest.groups.tubedevice = 1 - chest.groups.tubedevice_receiver = 1 - chest.tube = { +minetest.override_item("default:chest", { + tiles = { + "default_chest_top.png^pipeworks_tube_connection_wooden.png", + "default_chest_top.png^pipeworks_tube_connection_wooden.png", + "default_chest_side.png^pipeworks_tube_connection_wooden.png", + "default_chest_side.png^pipeworks_tube_connection_wooden.png", + "default_chest_side.png^pipeworks_tube_connection_wooden.png", + "default_chest_front.png" + }, + groups = { choppy=2, oddly_breakable_by_hand=2, tubedevice = 1, tubedevice_receiver = 1 }, + tube = { insert_object = function(pos, node, stack, direction) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() @@ -113,27 +113,28 @@ local chest = pipeworks.clone_node("default:chest") end, input_inventory = "main", connect_sides = {left=1, right=1, back=1, front=1, bottom=1, top=1} - } - chest.after_place_node = function(pos) + }, + after_place_node = function(pos) pipeworks.scan_for_tube_objects(pos) - end - chest.after_dig_node = function(pos) + end, + after_dig_node = function(pos) pipeworks.scan_for_tube_objects(pos) end +}) -minetest.register_node(":default:chest", chest) - +local old_locked_chest_after_place = minetest.registered_nodes["default:chest_locked"].after_place_node -local chest_locked = pipeworks.clone_node("default:chest_locked") - chest_locked.tiles[1] = "default_chest_top.png^pipeworks_tube_connection_wooden.png" - chest_locked.tiles[2] = "default_chest_top.png^pipeworks_tube_connection_wooden.png" - chest_locked.tiles[3] = "default_chest_side.png^pipeworks_tube_connection_wooden.png" - chest_locked.tiles[4] = "default_chest_side.png^pipeworks_tube_connection_wooden.png" - chest_locked.tiles[5] = "default_chest_side.png^pipeworks_tube_connection_wooden.png" - -- note we don't redefine entry 6 (front). - chest_locked.groups.tubedevice = 1 - chest_locked.groups.tubedevice_receiver = 1 - chest_locked.tube = { +minetest.override_item("default:chest_locked", { + tiles = { + "default_chest_top.png^pipeworks_tube_connection_wooden.png", + "default_chest_top.png^pipeworks_tube_connection_wooden.png", + "default_chest_side.png^pipeworks_tube_connection_wooden.png", + "default_chest_side.png^pipeworks_tube_connection_wooden.png", + "default_chest_side.png^pipeworks_tube_connection_wooden.png", + "default_chest_lock.png" + }, + groups = { choppy=2, oddly_breakable_by_hand=2, tubedevice = 1, tubedevice_receiver = 1 }, + tube = { insert_object = function(pos, node, stack, direction) local meta = minetest.env:get_meta(pos) local inv = meta:get_inventory() @@ -145,14 +146,12 @@ local chest_locked = pipeworks.clone_node("default:chest_locked") return inv:room_for_item("main", stack) end, connect_sides = {left=1, right=1, back=1, front=1, bottom=1, top=1} - } - local old_after_place = minetest.registered_nodes["default:chest_locked"].after_place_node - chest_locked.after_place_node = function(pos, placer) + }, + after_place_node = function(pos, placer) pipeworks.scan_for_tube_objects(pos) - old_after_place(pos, placer) - end - chest_locked.after_dig_node = function(pos) + old_locked_chest_after_place(pos, placer) + end, + after_dig_node = function(pos) pipeworks.scan_for_tube_objects(pos) end - -minetest.register_node(":default:chest_locked", chest_locked) +}) -- 2.30.2