From c6da0a6713e1dc77838d180987256bda62dbb19b Mon Sep 17 00:00:00 2001
From: RealBadAngel <mk@realbadangel.pl>
Date: Wed, 20 Mar 2013 03:46:35 +0100
Subject: [PATCH] Added Forcefield generator by ShadowNinja

---
 technic/frames.lua |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/technic/frames.lua b/technic/frames.lua
index 820a308..f555368 100644
--- a/technic/frames.lua
+++ b/technic/frames.lua
@@ -298,7 +298,7 @@
 minetest.register_node("technic:frame_motor4",{
 	description = "Frame motor 4",
 	tiles = {"technic_lv_cable.png", "technic_lv_cable.png", "technic_lv_cable.png",
-		"technic_lv_cable.png", "technic_lv_cable.png", "pipeworks_filter_top.png"},
+		"technic_lv_cable.png", "technic_lv_cable.png", "pipeworks_filter_top.png^[transformR180"},
 	groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,mesecon=2},
 	paramtype2 = "facedir",
 	mesecons={effector={action_on=frame_motor4_on}},
@@ -314,7 +314,7 @@
 minetest.register_node("technic:frame_motor5",{
 	description = "Frame motor 5",
 	tiles = {"technic_lv_cable.png", "technic_lv_cable.png", "technic_lv_cable.png",
-		"technic_lv_cable.png", "technic_lv_cable.png", "pipeworks_filter_top.png"},
+		"technic_lv_cable.png", "technic_lv_cable.png", "pipeworks_filter_top.png^[transformR90"},
 	groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,mesecon=2},
 	paramtype2 = "facedir",
 	mesecons={effector={action_on=frame_motor5_on}},
@@ -330,7 +330,7 @@
 minetest.register_node("technic:frame_motor6",{
 	description = "Frame motor 6",
 	tiles = {"technic_lv_cable.png", "technic_lv_cable.png", "technic_lv_cable.png",
-		"technic_lv_cable.png", "technic_lv_cable.png", "pipeworks_filter_top.png"},
+		"technic_lv_cable.png", "technic_lv_cable.png", "pipeworks_filter_top.png^[transformR270"},
 	groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,mesecon=2},
 	paramtype2 = "facedir",
 	mesecons={effector={action_on=frame_motor6_on}},
@@ -364,7 +364,6 @@
 		local node=minetest.env:get_node(pos)
 		local meta=minetest.env:get_meta(pos):to_table()
 		nodelist[#(nodelist)+1]={pos=pos,node=node,meta=meta}
-		minetest.env:remove_node(pos)
 	end
 	objects={}
 	for _,pos in ipairs(poslist) do
@@ -374,8 +373,8 @@
 	end
 	for _,obj in ipairs(objects) do
 		obj:setpos(addVect(obj:getpos(),vect))
-		if obj:get_luaentity().name == "pipeworks:tubed_item" then
-			le=obj:get_luaentity()
+		le=obj:get_luaentity()
+		if le and le.name == "pipeworks:tubed_item" then
 			le.start_pos=addVect(le.start_pos,vect)
 		end
 	end
@@ -384,6 +383,15 @@
 		minetest.env:set_node(npos,n.node)
 		local meta=minetest.env:get_meta(npos)
 		meta:from_table(n.meta)
+		for __,pos in ipairs(poslist) do
+			if npos.x==pos.x and npos.y==pos.y and npos.z==pos.z then
+				table.remove(poslist, __)
+				break
+			end
+		end
+	end
+	for __,pos in ipairs(poslist) do
+		minetest.env:remove_node(pos)
 	end
 end
 

--
Gitblit v1.8.0