From d6b0deb989e649e2800932d4a587c3ba9e3e24c7 Mon Sep 17 00:00:00 2001
From: Vanessa Ezekowitz <vanessaezekowitz@gmail.com>
Date: Sat, 17 Jan 2015 01:16:39 +0100
Subject: [PATCH] fix cnc stick formspec img (missed the border)

---
 technic/machines/other/frames.lua |   40 +++++++++++++++++++++++++++++-----------
 1 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/technic/machines/other/frames.lua b/technic/machines/other/frames.lua
index b3a179b..b3f39b9 100644
--- a/technic/machines/other/frames.lua
+++ b/technic/machines/other/frames.lua
@@ -3,6 +3,8 @@
 
 frames = {}
 
+local infinite_stacks = minetest.setting_getbool("creative_mode") and minetest.get_modpath("unified_inventory") == nil
+
 local frames_pos = {}
 
 -- Helpers
@@ -118,7 +120,7 @@
 	for _, pos in ipairs(poslist) do
 		for _,object in ipairs(minetest.get_objects_inside_radius(pos, 1)) do
 			local entity = object:get_luaentity()
-			if not entity or not mesecon:is_mvps_unmov(entity.name) then
+			if not entity or not mesecon.is_mvps_unmov(entity.name) then
 				add_table(objects, object)
 			end
 		end
@@ -220,6 +222,7 @@
 		paramtype = "light",
 		frame=1,
 		drop="technic:frame_111111",
+		sunlight_propagates = true,
 		frame_connect_all=function(nodename)
 			l2={}
 			l1={{x=-1,y=0,z=0},{x=1,y=0,z=0},{x=0,y=-1,z=0},{x=0,y=1,z=0},{x=0,y=0,z=-1},{x=0,y=0,z=1}}
@@ -265,10 +268,12 @@
 			else
 				minetest.set_node(pos, {name = itemstack:get_name()})
 			end
-			itemstack:take_item()
+			if not infinite_stacks then
+				itemstack:take_item()
+			end
 			return itemstack
 		end,
-		on_rightclick = function(pos, node, placer, itemstack)
+		on_rightclick = function(pos, node, placer, itemstack, pointed_thing)
 			if is_supported_node(itemstack:get_name()) then
 				if minetest.is_protected(pos, placer:get_player_name()) then
 					minetest.log("action", placer:get_player_name()
@@ -312,6 +317,11 @@
 				obj:get_luaentity():set_node({name=node.name})
 				
 				return itemstack
+			else
+				--local pointed_thing = {type = "node", under = pos}
+				if pointed_thing then
+					minetest.item_place_node(itemstack, placer, pointed_thing)
+				end
 			end
 		end,
 	})
@@ -455,9 +465,9 @@
 	end,
 })
 
-mesecon:register_mvps_unmov("technic:frame_entity")
-mesecon:register_mvps_unmov("technic:damage_entity")
-mesecon:register_on_mvps_move(function(moved_nodes)
+mesecon.register_mvps_unmov("technic:frame_entity")
+mesecon.register_mvps_unmov("technic:damage_entity")
+mesecon.register_on_mvps_move(function(moved_nodes)
 	local to_move = {}
 	for _, n in ipairs(moved_nodes) do
 		if frames_pos[pos_to_string(n.oldpos)] ~= nil then
@@ -532,11 +542,15 @@
 		nnode.name = frames_pos[pos_to_string(nnodepos)]
 	end
 	local meta = minetest.get_meta(pos)
+	if meta:get_int("last_moved") == minetest.get_gametime() then
+		return
+	end
 	local owner = meta:get_string("owner")
 	if minetest.registered_nodes[nnode.name].frame==1 then
 		local connected_nodes=get_connected_nodes(nnodepos)
 		move_nodes_vect(connected_nodes,dir,pos,owner)
 	end
+	minetest.get_meta(vector.add(pos, dir)):set_int("last_moved", minetest.get_gametime())
 end
 
 minetest.register_node("technic:frame_motor",{
@@ -788,11 +802,11 @@
 })
 
 minetest.register_tool("technic:template_tool",{
-	description = S("Template tool"),
+	description = S("Template Tool"),
 	inventory_image = "technic_template_tool.png",
 	on_use = function(itemstack, puncher, pointed_thing)
 		local pos = pointed_thing.under
-		if pos == nil or (minetest.is_protected and minetest.is_protected(pos, placer:get_player_name())) then
+		if pos == nil or (minetest.is_protected and minetest.is_protected(pos, puncher:get_player_name())) then
 			return nil
 		end
 		local node = minetest.get_node(pos)
@@ -833,15 +847,19 @@
 	local dir = minetest.facedir_to_dir(node.param2)
 	local nnode=minetest.get_node(nnodepos)
 	local meta = minetest.get_meta(pos)
+	if meta:get_int("last_moved") == minetest.get_gametime() then
+		return
+	end
 	local owner = meta:get_string("owner")
 	if nnode.name == "technic:template" then
 		local connected_nodes=get_template_nodes(nnodepos)
 		move_nodes_vect(connected_nodes,dir,pos,owner)
 	end
+	minetest.get_meta(vector.add(pos, dir)):set_int("last_moved", minetest.get_gametime())
 end
 
 minetest.register_node("technic:template_motor",{
-	description = S("Template motor"),
+	description = S("Template Motor"),
 	tiles = {"pipeworks_filter_top.png^[transformR90", "technic_lv_cable.png", "technic_lv_cable.png",
 		"technic_lv_cable.png", "technic_lv_cable.png", "technic_lv_cable.png"},
 	groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,mesecon=2},
@@ -867,7 +885,7 @@
 	output = 'technic:frame_motor',
 	recipe = {
 		{'',					'technic:frame_111111',	''},
-		{'group:mesecons_conductor_craftable',	'technic:motor',	'group:mesecons_conductor_craftable'},
+		{'group:mesecon_conductor_craftable',	'technic:motor',	'group:mesecon_conductor_craftable'},
 		{'',					'technic:frame_111111',	''},
 	}
 })
@@ -895,7 +913,7 @@
 	output = 'technic:template_motor',
 	recipe = {
 		{'',					'technic:template',	''},
-		{'group:mesecons_conductor_craftable',	'technic:motor',	'group:mesecons_conductor_craftable'},
+		{'group:mesecon_conductor_craftable',	'technic:motor',	'group:mesecon_conductor_craftable'},
 		{'',					'technic:template',	''},
 	}
 })

--
Gitblit v1.8.0