Advertisement
Guest User

Starbound container diff

a guest
Mar 3rd, 2015
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.70 KB | None | 0 0
  1. function containerDiff(items, itemsCache)
  2.   local events = {}
  3.  
  4.   for k,v in pairs(itemsCache) do
  5.     if items[k] == nil then
  6.       table.insert(events, {
  7.         type = "remove",
  8.         slot = k,
  9.         item = v
  10.       })
  11.     end
  12.   end
  13.  
  14.   for k,v in pairs(items) do
  15.     if itemsCache[k] == nil then
  16.       table.insert(events, {
  17.         type = "add",
  18.         slot = k,
  19.         item = v
  20.       })
  21.     elseif not table.equals(v, itemsCache[k]) then
  22.       table.insert(events, {
  23.         type = "remove",
  24.         slot = k,
  25.         item = itemsCache[k]
  26.       })
  27.       table.insert(events, {
  28.         type = "add",
  29.         slot = k,
  30.         item = v
  31.       })
  32.     end
  33.   end
  34.  
  35.   return events
  36. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement