Skip to main content

local entities

local bp = dofile "blueprint.lua"

local entities = {}
local recipies = {}

local minx=0
local miny=0
local maxx=0
local maxy=0

for i,e in pairs(bp.entities) do
  -- e.name
  -- e.position.x
  -- e.position.y
  -- e.recipe
  -- e.direction

  if entities[e.name]==nil then
    entities[e.name]=1
  else
    entities[e.name] = entities[e.name] + 1
  end
 
  if e.position.x < minx then minx = e.position.x end
  if e.position.y < miny then miny = e.position.y end
  if e.position.x > maxx then maxx = e.position.x end
  if e.position.y > maxy then maxy = e.position.x end

  if e.recipe ~= nil then
    if recipies[e.recipe]==nil then recipies[e.recipe]={} end

    if recipies[e.recipe][e.name] == nil then
      recipies[e.recipe][e.name] = 1
    else
      recipies[e.recipe][e.name] = recipies[e.recipe][e.name] + 1
    end
  end
end

print( "Blueprint Occupies " .. maxx-minx .. " x " .. maxy-miny)
print(minx,maxx, miny,maxy)

print("")
print("Materials:")
for name,count in pairs(entities) do
  print(count,name)
end

print("")
print("Production:")
for name,producers in pairs(recipies) do
  print(name)
  for name,count in pairs(producers) do
    print(count,name)
  end
end