function gadget:GetInfo()
	return {
		name = "BlockingMap.lua",
		desc = "Sets up blocking map for trees.",
		author = "Argh",
		date = "July 30th, 2008",
		license = "(C) 2008, GNU GPL v. 2",
		layer = 1,
		enabled = true,
	}
end

local Blocker = {}

local ReclaimList = {}

if (gadgetHandler:IsSyncedCode()) then
--////////////////////////////////////////////////////////////////////
--////////////////////////////////////////////////////////////////////
--////////////////////////////////////////////////////////////////////
function gadget:Initialize()
	gadgetHandler:RegisterGlobal("PieceNums", PieceNums)
	for ud,_ in pairs(UnitDefs) do
		if UnitDefs[ud].customParams.blocker == 'blockernull' then
			table.insert(Blocker,ud,1)
		end
		if UnitDefs[ud].customParams.blocker == 'parent' then
			table.insert(ReclaimList,ud,1)
		end
	end
end


function PutDownBlockers(u, ud, team, piece1)
	local p = Spring.GetUnitScriptPiece(u, piece1)
	local x,y,z,dx,dy,dz = Spring.GetUnitPiecePosDir(u,p)
	--Spring.Echo(x,y,z)
	local newUnit = Spring.CreateUnit("BlockerNull",x,0,z,0,team)
end
gadgetHandler:RegisterGlobal("PutDownBlockers", PutDownBlockers)

function gadget:UnitDestroyed(u)
	if ReclaimList[Spring.GetUnitDefID(u)] then
		local x,y,z = Spring.GetUnitPosition(u)
		local unitsMustDie = Spring.GetUnitsInRectangle(x-128,z-128,x+128,z+128)
		for _,me in ipairs (unitsMustDie) do
			if me ~= u and Blocker[Spring.GetUnitDefID(me)] then
				Spring.DestroyUnit(me,false,true)
			end
		end
	end
end
--////////////////////////////////////////////////////////////////////
--////////////////////////////////////////////////////////////////////
--////////////////////////////////////////////////////////////////////
end