[READ-ONLY] Mirror of https://github.com/thoda-dev/DU-Industry-HUD. A simple HUD for monitoring and managing industry in Dual Universe
dual-universe lua
0

Configure Feed

Select the types of activity you want to include in your feed.

v2.0.0 source

Thomas (Dec 28, 2020, 4:21 PM +0100) e97305f3 725cf8f1

+1284 -1418
+37 -81
Master program/config.json
··· 94 94 }, 95 95 "handlers": [ 96 96 { 97 - "code": "--[[\n\treceivers channels for each type of machine\n]]\n\nchannel_for_refiner = \"receiver_refiner\" --export: receiver channel for updating refiners\nchannel_for_assembly = \"receiver_assembly\" --export: receiver channel for updating assembly lines\nchannel_for_smelter = \"receiver_smelters\" --export: receiver channel for updating smelters\nchannel_for_chemical = \"receiver_chemical\" --export: receiver channel for updating chemical indutries\nchannel_for_electronics = \"receiver_electronics\" --export: receiver channel for updating electronic industries\nchannel_for_glass = \"receiver_glass\" --export: receiver channel for updating glass furnace\nchannel_for_honeycomb = \"receiver_honeycomb_recycler\" --export: receiver channel for updating honeycomb refiniries\nchannel_for_recycler = \"receiver_honeycomb_recycler\" --export: receiver channel for updating recylers\nchannel_for_metalwork = \"receiver_metalworks\" --export: receiver channel for updating metalworks\nchannel_for_3d_printer = \"receiver_3dprinters\" --export: receiver channel for updating 3d printers\nchannel_for_transfer = \"receiver_transfert\" --export: receiver channel for updating tranfer units\ncontainer_proficiency_lvl = 0 --export: Talent level for Container Proficiency\ncontainer_fill_red_level = 10 --export: The percent fill below gauge will be red\ncontainer_fill_yellow_level = 50 --export: The percent fill below gauge will be yellow\nenableRefinerMonitoring = true --export: enable or disable the Refiners monitoring\nenableAssemblyMonitoring = true --export: enable or disable the Assembly lines monitoring\nenableSmelterMonitoring = true --export: enable or disable the Smelters monitoring\nenableChemicalMonitoring = true --export: enable or disable the Chemical industries monitoring\nenableElectronicsMonitoring = true --export: enable or disable the Electronics Industries monitoring\nenableGlassMonitoring = true --export: enable or disable the Glass Furnace monitoring\nenableHoneycombMonitoring = true --export: enable or disable the Honeycomb Refineries monitoring\nenableRecyclerMonitoring = true --export: enable or disable the Recyclers monitoring\nenableMetalworkMonitoring = true --export: enable or disable the Metalworks monitoring\nenable3DPrinterMonitoring = true --export: enable or disable the 3D Printers monitoring\nenableTransferMonitoring = true --export: enable or disable the transfer units monitoring\nenableContainerMonitoring = true --export: enable or disable the containers and hubs monitoring\ncontainerMonitoringPrefix = \"MONIT_\" --export: the prefix used to enable container monitoring\nrefreshSpeed = 1 --export: the refresh speed of data in seconds\nelementsByPage = 20 --export: maximum amount of elements displayed on a single page\ndateFormat = \"en\" --export: the country code to format the date\nmaxAmountOfElementsLoadedBySecond = 2500 --export: if cpu load errors at start, lower that value\n\n--[[\n\tDO NOT CHANGE THE FOLLOWING\n]]\n\nchannels = {}\nchannels['refiner'] = channel_for_refiner\nchannels['assembly line'] = channel_for_assembly\nchannels['smelter'] = channel_for_smelter\nchannels['chemical industry'] = channel_for_chemical\nchannels['electronics industry'] = channel_for_electronics\nchannels['glass furnace'] = channel_for_glass\nchannels['honeycomb refinery'] = channel_for_honeycomb\nchannels['recycler'] = channel_for_recycler\nchannels['metalwork industry'] = channel_for_metalwork\nchannels['3d printer'] = channel_for_3d_printer\nchannels['transfer unit'] = channel_for_transfer\n\ndatabanks = {}\ncore = nil\nemitter = nil\nfor slot_name, slot in pairs(unit) do\n if\n type(slot) == \"table\"\n and type(slot.export) == \"table\"\n and slot.getElementClass\n then\n if slot.getElementClass():lower() == 'databankunit' then\n table.insert(databanks, slot)\n end\n if slot.getElementClass():lower():find(\"coreunit\") then\n core = slot\n end\n if slot.getElementClass():lower() == 'emitterunit' then\n emitter = slot\n end\n end\nend\nStorage = bankhub:new(databanks)\n\nelementsId = {}\nelements = {}\nelementsTypes = {}\nmachines_count = {}\nmachines_count.total = 0\ncoreOffset = 16\ninitIndex = 1\nlistIndex = 1\nif core ~= nil and Storage then\n\telementsIdList = core.getElementIdList()\n --system.print(#elementsIdList)\n unit.setTimer(\"init\",1)\nend\n\nelementsTypes = removeDuplicatesInTable(elementsTypes)\n\nsystem.showScreen(1)\nunit.setTimer(\"refreshData\", refreshSpeed)\nchannel_index = 1\nselected_index = 1\nselected_machine_index = 1\nhud_displayed = true\npage = 1\nmaxPage = 1\nselectedElementsId = {}\nCtrl_pressed = false\nAlt_pressed = false\ncraft_quantity = \"\"\ncraft_quantity_digits = {\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"}\nrefresh_id_list = {}\ncraft_selected_digit = 1\ncommand_1 = \"\"\ncommand_2 = \"\"\ncommand_3 = \"\"\nmarkers = {}\nrefreshActivated = true\nhud_help_command = \"\"\nunit.setTimer(\"helperRefresh\",1)", 97 + "code": "--[[\n\treceivers channels for each type of machine\n]]\n\nchannel_for_refiner = \"receiver_refiner\" --export: receiver channel to send orders to refiners\nchannel_for_assembly = \"receiver_assembly\" --export: receiver channel to send orders to assembly lines\nchannel_for_smelter = \"receiver_smelters\" --export: receiver channel to send orders to smelters\nchannel_for_chemical = \"receiver_chemical\" --export: receiver channel to send orders to chemical indutries\nchannel_for_electronics = \"receiver_electronics\" --export: receiver channel to send orders to electronic industries\nchannel_for_glass = \"receiver_glass\" --export: receiver channel to send orders to glass furnace\nchannel_for_honeycomb = \"receiver_honeycomb_recycler\" --export: receiver channel to send orders to honeycomb refiniries\nchannel_for_recycler = \"receiver_honeycomb_recycler\" --export: receiver channel to send orders to recylers\nchannel_for_metalwork = \"receiver_metalworks\" --export: receiver channel to send orders to metalworks\nchannel_for_3d_printer = \"receiver_3dprinters\" --export: receiver channel to send orders to 3d printers\nchannel_for_transfer = \"receiver_transfert\" --export: receiver channel to send orders to tranfer units\n\ncontainer_proficiency_lvl = 0 ---export: Talent level for Container Proficiency\ncontainer_fill_red_level = 10 ---export: The percent fill below gauge will be red\ncontainer_fill_yellow_level = 50 ---export: The percent fill below gauge will be yellow\n\nenableRefinerMonitoring = true --export: enable or disable the Refiners monitoring\nenableAssemblyMonitoring = true --export: enable or disable the Assembly lines monitoring\nenableSmelterMonitoring = true --export: enable or disable the Smelters monitoring\nenableChemicalMonitoring = true --export: enable or disable the Chemical industries monitoring\nenableElectronicsMonitoring = true --export: enable or disable the Electronics Industries monitoring\nenableGlassMonitoring = true --export: enable or disable the Glass Furnace monitoring\nenableHoneycombMonitoring = true --export: enable or disable the Honeycomb Refineries monitoring\nenableRecyclerMonitoring = true --export: enable or disable the Recyclers monitoring\nenableMetalworkMonitoring = true --export: enable or disable the Metalworks monitoring\nenable3DPrinterMonitoring = true --export: enable or disable the 3D Printers monitoring\nenableTransferMonitoring = true --export: enable or disable the transfer units monitoring\nenableContainerMonitoring = false ---export: enable or disable the containers and hubs monitoring\nenableRemoteControl = true --export: enable the HUD to control machines (start/stop/batch/maintain)\ncontainerMonitoringPrefix = \"MONIT_\" ---export: the prefix used to enable container monitoring\nelementsByPage = 20 --export: maximum amount of elements displayed on a single page\ndateFormat = \"en\" --export: the country code to format the date\nmaxAmountOfElementsLoadedBySecond = 2000 --export: if cpu load errors at start, lower that value\nmaxAmountOfRecipeLoadedBySecond = 10 --export: if cpu load errors on page load, lower that value\n\n--[[\n\tDO NOT CHANGE THE FOLLOWING\n]]\n\nchannels = {}\nchannels['refiner'] = channel_for_refiner\nchannels['assembly line'] = channel_for_assembly\nchannels['smelter'] = channel_for_smelter\nchannels['chemical industry'] = channel_for_chemical\nchannels['electronics industry'] = channel_for_electronics\nchannels['glass furnace'] = channel_for_glass\nchannels['honeycomb refinery'] = channel_for_honeycomb\nchannels['recycler'] = channel_for_recycler\nchannels['metalwork industry'] = channel_for_metalwork\nchannels['3d printer'] = channel_for_3d_printer\nchannels['transfer unit'] = channel_for_transfer\n\ndatabanks = {}\ncore = nil\nemitter = nil\nfor slot_name, slot in pairs(unit) do\n if\n type(slot) == \"table\"\n and type(slot.export) == \"table\"\n and slot.getElementClass\n then\n if slot.getElementClass():lower() == 'databankunit' then\n table.insert(databanks, slot)\n end\n if slot.getElementClass():lower():find(\"coreunit\") then\n core = slot\n end\n if slot.getElementClass():lower() == 'emitterunit' then\n emitter = slot\n end\n end\nend\n\nif emitter == nil then \n enableRemoteControl = false\n system.print(\"Connect an Emitter to enable machine control from industry\")\nend\nif #databanks == 0 then \n enableRemoteControl = false\n system.print(\"No Databank linked\")\nend\nStorage = bankhub:new(databanks)\n\nelementsId = {}\nelements = {}\nelementsTypes = {}\nmachines_count = {}\nmachines_count.total = 0\ncoreOffset = 16\ninitIndex = 1\nlistIndex = 1\nelementsIdList = {}\nif core ~= nil and Storage then\n\telementsIdList = core.getElementIdList()\n unit.setTimer(\"init\",1)\nend\n\nelementsTypes = removeDuplicatesInTable(elementsTypes)\n\nsystem.showScreen(1)\nchannel_index = 1\nselected_index = 1\nselected_machine_index = 1\nhud_displayed = true\npage = 1\nmaxPage = 1\nselectedElementsId = {}\nCtrl_pressed = false\ncraft_quantity = \"\"\ncraft_quantity_digits = {\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"}\nrefresh_id_list = {}\ncraft_selected_digit = 1\ncommand_1 = \"\"\ncommand_2 = \"\"\ncommand_3 = \"\"\nmarkers = {}\nrefreshActivated = true\nhud_help_command = \"\"\nunit.setTimer(\"helperRefresh\",1)\nminOnPage = 0\nmaxOnPage = 0\nrecipeToLoad = {}\nloadedRecipes = {}\n\nunit.setTimer(\"recipeUpdate\", 1)", 98 98 "filter": { 99 99 "args": [], 100 100 "signature": "start()", ··· 103 103 "key": "0" 104 104 }, 105 105 { 106 - "code": "if emitter ~= nil and #elementsTypes > 0 then\n for _,db in pairs(databanks) do\n for _,id in pairs(refresh_id_list) do\n \tdb.setIntValue(\"refresh_\" .. tostring(id), 1)\n end\n end\n if refreshActivated == true then\n \temitter.send(channels[elementsTypes[selected_index]:lower()], \"\")\n end\nend\n", 106 + "code": "Storage.clear()\nfor _,m in pairs(markers) do\n core.deleteSticker(m)\nend", 107 107 "filter": { 108 - "args": [ 109 - { 110 - "value": "refreshData" 111 - } 112 - ], 113 - "signature": "tick(timerId)", 108 + "args": [], 109 + "signature": "stop()", 114 110 "slotKey": "-1" 115 111 }, 116 112 "key": "1" 117 113 }, 118 114 { 119 - "code": "Storage.clear()\nfor _,m in pairs(markers) do\n core.deleteSticker(marker)\nend", 115 + "code": "--load all the machines from the core step by step to avoid CPU Load Errors\n\nlocal maxForLoop = initIndex + maxAmountOfElementsLoadedBySecond\nif maxForLoop > #elementsIdList then maxForLoop = #elementsIdList end\nsystem.print(\"Loading elements from \" .. initIndex .. \" to \" .. maxForLoop .. \" on \" .. #elementsIdList)\n\nfor i = initIndex, maxForLoop, 1 do\n \tinitIndex = i\n \tlocal id = elementsIdList[i]\n elementType = core.getElementTypeById(id):lower()\n if (elementType:find(\"assembly line\") and enableAssemblyMonitoring == true) or\n (elementType:find(\"glass furnace\") and enableGlassMonitoring == true) or\n (elementType:find(\"3d printer\") and enable3DPrinterMonitoring == true) or\n (elementType:find(\"smelter\") and enableSmelterMonitoring == true) or\n (elementType:find(\"recycler\") and enableRecyclerMonitoring == true) or\n (elementType:find(\"refinery\") and enableHoneycombMonitoring == true) or\n (elementType:find(\"refiner\") and enableRefinerMonitoring == true) or\n (elementType:find(\"industry\")\n and (\n (elementType:find(\"chemical\") and enableChemicalMonitoring == true) or\n (elementType:find(\"electronics\") and enableElectronicsMonitoring == true) or\n (elementType:find(\"metalwork\") and enableMetalworkMonitoring == true)\n )\n ) or\n (elementType == \"transfer unit\" and enableTransferMonitoring == true) --[[or\n (elementType:find(\"container\") and enableContainerMonitoring == true)\n ]]--\n then\n \tlocal formatedType = removeQualityInName(elementType)\n if machines_count[formatedType] ~= nil then\n machines_count[formatedType] = machines_count[formatedType] + 1\n else\n machines_count[formatedType] = 1\n end\n table.insert(elementsId, id)\n end\n if elementType:find(\"core\") then\n --thx to Archaego for the idea of getting the core size by HP\n --thx to Rutiik for the offset values\n local hp = core.getElementHitPointsById(id)\n if hp > 10000 then\n coreOffset = 128\n elseif hp > 1000 then\n coreOffset = 64\n elseif hp > 150 then\n coreOffset = 32\n end\n end\n end", 120 116 "filter": { 121 - "args": [], 122 - "signature": "stop()", 117 + "args": [ 118 + { 119 + "value": "init" 120 + } 121 + ], 122 + "signature": "tick(timerId)", 123 123 "slotKey": "-1" 124 124 }, 125 125 "key": "2" 126 126 }, 127 127 { 128 - "code": "--load all the machines from the core step by step to avoid CPU Load Errors\n\nlocal maxForLoop = initIndex + maxAmountOfElementsLoadedBySecond\nif maxForLoop > #elementsIdList then maxForLoop = #elementsIdList end\nsystem.print(\"init --- \" .. initIndex .. \" --- \" .. maxForLoop .. \" --- \" .. #elementsIdList)\n\nfor i = initIndex, maxForLoop, 1 do\n \tinitIndex = i\n \tlocal id = elementsIdList[i]\n elementType = core.getElementTypeById(id):lower()\n if (elementType == \"assembly line\" and enableAssemblyMonitoring == true) or\n (elementType == \"glass furnace\" and enableGlassMonitoring == true) or\n (elementType == \"3d printer\" and enable3DPrinterMonitoring == true) or\n (elementType == \"smelter\" and enableSmelterMonitoring == true) or\n (elementType == \"recycler\" and enableRecyclerMonitoring == true) or\n (elementType:find(\"refinery\") and enableHoneycombMonitoring == true) or\n (elementType == \"refiner\" and enableRefinerMonitoring == true) or\n (elementType:find(\"industry\")\n and (\n (elementType:find(\"chemical\") and enableChemicalMonitoring == true) or\n (elementType:find(\"electronics\") and enableElectronicsMonitoring == true) or\n (elementType:find(\"metalwork\") and enableMetalworkMonitoring == true)\n )\n ) or\n (elementType == \"transfer unit\" and enableTransferMonitoring == true) or\n (elementType:find(\"container\") and enableContainerMonitoring == true)\n then\n if machines_count[elementType:lower()] ~= nil then\n machines_count[elementType:lower()] = machines_count[elementType:lower()] + 1\n else\n machines_count[elementType:lower()] = 1\n end\n table.insert(elementsId, id)\n end\n if elementType:find(\"core\") then\n --thx to Archaego for the idea of getting the core size by HP\n --thx to Rutik for the offset values\n local hp = core.getElementHitPointsById(id)\n if hp > 10000 then\n coreOffset = 128\n elseif hp > 1000 then\n coreOffset = 64\n elseif hp > 150 then\n coreOffset = 32\n end\n end\n end", 128 + "code": "local year, month, day, hour, minute, second = epochTime()\nlocal dateStr = year .. \"/\" .. month .. \"/\" .. day .. \" \" .. hour .. \":\" .. minute .. \":\" .. second\nif dateFormat:lower() == \"fr\" then\n dateStr = day .. \"/\" .. month .. \"/\" .. year .. \" \" .. hour .. \":\" .. minute .. \":\" .. second\nend\n\nhud_help_command = [[<div class=\"hud_help_commands hud_container\">\n <table>\n <tr>\n <th colspan=\"2\">\n ]] .. dateStr .. [[\n </th>\n </tr>\n <tr>\n <td>Show/Hide HUD</td>\n <th style=\"text-align:right;\">Alt+7</th>\n </tr>\n </table>\n</div>]]", 129 129 "filter": { 130 130 "args": [ 131 131 { 132 - "value": "init" 132 + "value": "helperRefresh" 133 133 } 134 134 ], 135 135 "signature": "tick(timerId)", ··· 138 138 "key": "3" 139 139 }, 140 140 { 141 - "code": "local year, month, day, hour, minute, second = epochTime()\nlocal dateStr = year .. \"/\" .. month .. \"/\" .. day .. \" \" .. hour .. \":\" .. minute .. \":\" .. second\nif dateFormat:lower() == \"fr\" then\n dateStr = day .. \"/\" .. month .. \"/\" .. year .. \" \" .. hour .. \":\" .. minute .. \":\" .. second\nend\n\nlocal refreshStatusText = [[<span class=\"text-success\">Disable Data Collection</span>]]\nif refreshActivated == false then\n refreshStatusText = [[<span class=\"text-danger\">Enable Data Collection</span>]]\nend\n\nhud_help_command = [[<div class=\"hud_help_commands hud_container\">\n <table>\n <tr>\n <th colspan=\"2\">\n ]] .. dateStr .. [[\n </th>\n </tr>\n <tr>\n <td>Show/Hide HUD</td>\n <th style=\"text-align:right;\">Alt+7</th>\n </tr>\n <tr>\n \t<td>]] .. refreshStatusText .. [[</td>\n \t<th style=\"text-align:right;\">Alt+8</th>\n </tr>\n </table>\n</div>]]", 141 + "code": "local maxForLoop = listIndex + maxAmountOfElementsLoadedBySecond\nif maxForLoop > #elementsId then maxForLoop = #elementsId end\n\nselectedElementsId = {}\nelementsTypes = {}\nfor i = listIndex, maxForLoop, 1 do\n listIndex = i\n local id = elementsId[i]\n elementType = core.getElementTypeById(id)\n local elementName = core.getElementNameById(id):lower()\n if\n (elementType:lower():find(\"container\")\n and elementName:find(containerMonitoringPrefix:lower()))\n or (not elementType:lower():find(\"container\"))\n then\n local formatedName = removeQualityInName(elementType)\n table.insert(elementsTypes, formatedName)\n end\n if selected_type == removeQualityInName(elementType) then\n if\n (elementType:lower():find(\"container\") and elementName:find(containerMonitoringPrefix:lower()))\n or (not elementType:lower():find(\"container\"))\n then\n table.insert(selectedElementsId, id)\n end\n end\nend\nelementsTypes = removeDuplicatesInTable(elementsTypes)\ntable.sort(elementsTypes, function(a,b) return a:lower() < b:lower() end)\nmaxPage = math.ceil(#selectedElementsId / elementsByPage)\nif listIndex >= #elementsId then listIndex = 1 end", 142 142 "filter": { 143 143 "args": [ 144 144 { 145 - "value": "helperRefresh" 145 + "value": "buildLists" 146 146 } 147 147 ], 148 148 "signature": "tick(timerId)", ··· 151 151 "key": "4" 152 152 }, 153 153 { 154 - "code": "local maxForLoop = initIndex + maxAmountOfElementsLoadedBySecond\nif maxForLoop > #elementsId then maxForLoop = #elementsId end\n\nselectedElementsId = {}\nelementsTypes = {}\nfor i = listIndex, maxForLoop, 1 do\n--for _,id in pairs(elementsId) do\n listIndex = i\n local id = elementsId[i]\n elementType = core.getElementTypeById(id)\n local elementName = core.getElementNameById(id):lower()\n if\n (elementType:lower():find(\"container\") and elementName:find(containerMonitoringPrefix:lower()))\n or (not elementType:lower():find(\"container\"))\n then\n table.insert(elementsTypes, elementType)\n end\n if selected_type == elementType then\n if\n (elementType:lower():find(\"container\") and elementName:find(containerMonitoringPrefix:lower()))\n or (not elementType:lower():find(\"container\"))\n then\n table.insert(selectedElementsId, id)\n end\n end\nend\nelementsTypes = removeDuplicatesInTable(elementsTypes)\ntable.sort(elementsTypes, function(a,b) return a:lower() < b:lower() end)\nmaxPage = math.ceil(#selectedElementsId / elementsByPage)\nif listIndex >= #elementsId then listIndex = 1 end", 154 + "code": "if recipeListIndex == nil then recipeListIndex = 1 end\nlocal maxForLoop = recipeListIndex + maxAmountOfRecipeLoadedBySecond\nif maxForLoop > #recipeToLoad then maxForLoop = #recipeToLoad end\n--system.print(\"recipeUpdate \" .. recipeListIndex .. \"/\" .. maxForLoop)\nfor i = recipeListIndex, maxForLoop, 1 do\n recipeListIndex = i\n if (loadedRecipes[recipeToLoad[i]] == nil) and (tonumber(recipeToLoad[i]) > 0) then\n --system.print(recipeToLoad[i])\n local recipe = json.decode(core.getSchematicInfo(recipeToLoad[i]))\n if (recipe.products) then\n if #recipe.products > 0 then \n recipeName = recipe.products[1].name\n end\n end\n loadedRecipes[recipeToLoad[i]] = recipeName\n end\nend\nif recipeListIndex >= #recipeToLoad then\n recipeToLoad = {}\n recipeListIndex = 1\nend\n--system.print(json.encode(loadedRecipes))", 155 155 "filter": { 156 156 "args": [ 157 157 { 158 - "value": "buildLists" 158 + "value": "recipeUpdate" 159 159 } 160 160 ], 161 161 "signature": "tick(timerId)", ··· 164 164 "key": "5" 165 165 }, 166 166 { 167 - "code": "hud_main_css = [[\n <style>\n .hud_container {\n border: 2px solid orange;\n border-radius:10px;\n background-color: rgba(0,0,0,.75);\n padding:10px;\n }\n .hud_help_commands {\n position: absolute;\n top: ]] .. tostring((10/1080)*100) .. [[vh;\n left: ]] .. tostring((50/1920)*100) .. [[vw;\n text-transform: uppercase;\n font-weight: bold;\n }\n .hud_list_container {\n position: absolute;\n top: ]] .. tostring((125/1080)*100) .. [[vh;\n left: ]] .. tostring((50/1920)*100) .. [[vw;\n text-transform: uppercase;\n font-weight: bold;\n }\n .hud_machine_detail {\n position: absolute;\n top: ]] .. tostring((125/1080)*100) .. [[vh;\n right: ]] .. tostring((450/1920)*100) .. [[vw;\n text-transform: uppercase;\n font-weight: bold;\n }\n .hud_machines_container {\n position: absolute;\n top: ]] .. tostring((125/1080)*100) .. [[vh;\n left: ]] .. tostring((300/1920)*100) .. [[vw;\n }\n .elementType {\n margin-top:10px;\n border-radius:5px;\n }\n .elementType.selected {\n border: 2px solid green;\n background-color: rgba(0,200,0,.45);\n }\n tr.selected td, tr.selected th{\n border: 2px solid green;\n background-color: rgba(0,200,0,.1);\n }\n td, th {\n border-bottom:1px solid white;\n padding:5px;\n text-align: center;\n }\n th {\n font-weight: bold;\n }\n .text-success{color: #28a745;}\n .text-danger{color:#dc3545;}\n .text-warning{color:#ffc107;}\n .text-info{color:#17a2b8;}\n .text-primary{color:#007bff;}\n .text-orangered{color:orangered;}\n .bg-success{background-color: #28a745;}\n .bg-danger{background-color:#dc3545;}\n .bg-warning{background-color:#ffc107;}\n .bg-info{background-color:#17a2b8;}\n .bg-primary{background-color:#007bff;}\n </style>\n]]\n\nif initIndex >= #elementsIdList then\n unit.stopTimer(\"init\")\n if not isTimerStarted then\n isTimerStarted = true\n unit.setTimer(\"buildLists\",1)\n system.setScreen(hud_main_css .. hud_help_command .. [[\n <div class=\"hud_list_container hud_container\">\n \t<table style=\"width:100%\">\n \t\t<tr>\n \t\t\t<th>LOADING ]] .. math.floor(initIndex*100/#elementsIdList) .. [[% ...</th>\n \t\t</tr>\n \t</table>\n </div>\n ]])\n else\n hud_elements_type_list = \"\"\n hud_machines = \"\"\n hud_machine_detail = \"\"\n \n if hud_displayed == true then\n selected_type = elementsTypes[selected_index]\n elements = {}\n refresh_id_list = {}\n \n local minOnPage = ((page - 1) * elementsByPage) + 1\n local maxOnPage = page * elementsByPage\n local temp_elements_for_sorting = {}\n for i,id in pairs(selectedElementsId) do\n elementData = {}\n elementData.id = id\n elementData.name = core.getElementNameById(id)\n table.insert(temp_elements_for_sorting, elementData)\n end\n table.sort(temp_elements_for_sorting, function(a,b) return a.name:lower() < b.name:lower() end)\n for i,elementData in pairs(temp_elements_for_sorting) do\n if i >= minOnPage and i <= maxOnPage then\n elementType = core.getElementTypeById(elementData.id)\n if Storage.hasKey(elementData.id) == 1 then\n elementData = MyJson.parse(Storage.getStringValue(elementData.id))\n end\n elementData.type = elementType\n elementData.name = core.getElementNameById(elementData.id)\n elementData.position = core.getElementPositionById(elementData.id)\n table.insert(refresh_id_list, elementData.id)\n table.insert(elements, elementData)\n end\n end\n hud_elements_type_list = [[<div class=\"hud_list_container hud_container\">\n <div style=\"text-align:center;font-weight:bold;border-bottom:1px solid white;\">&#x2191; &nbsp;&nbsp; Ctrl+Arrow Up</div>\n ]]\n for i, elementType in pairs(elementsTypes) do\n hud_elements_type_list = hud_elements_type_list .. [[<div class=\"elementType]]\n if i == selected_index then\n hud_elements_type_list = hud_elements_type_list .. \" selected\"\n end\n local count = 0\n if machines_count[elementType:lower()] ~= nil then count = machines_count[elementType:lower()] end\n hud_elements_type_list = hud_elements_type_list .. [[\">\n <table style=\"width:100%;\">\n <tr>\n \t\t <!--<th style=\"border-bottom:none;\">\n \t\t\t <img src=\"]] .. Icons[elementType:lower()] .. [[\" style=\"width:20px;\">\n \t\t </th>-->\n <th style=\"text-align:left;border-bottom:none;\">]].. elementType .. [[</th>\n <td style=\"text-align:right;border-bottom:none;\">]] .. count .. [[</td>\n </tr>\n </table>\n </div>\n ]]\n end\n hud_elements_type_list = hud_elements_type_list .. [[<div style=\"margin-top:10px;text-align:center;font-weight:bold;border-top:1px solid white;\">&#x2193; &nbsp;&nbsp; Ctrl+Arrow Down</div></div>]]\n local minOnPage = ((page - 1) * elementsByPage) + 1\n if maxOnPage > #selectedElementsId then maxOnPage = #selectedElementsId end\n hud_machines = [[<div class=\"hud_machines_container hud_container\">\n <div style=\"text-align:center;font-weight:bold;border-bottom:1px solid white;\">&#x2191; &nbsp;&nbsp; Arrow Up</div>\n <table class=\"elements_table\" style=\"width:100%\">\n <tr>\n <th>&#x2190; &nbsp;&nbsp; Arrow Left</th>\n <th> Page ]] .. page .. [[/]] .. maxPage .. [[ (from ]] .. minOnPage .. [[ to ]] .. maxOnPage .. [[)</th>\n <th>Arrow Right &nbsp;&nbsp; &#x2192;</th>\n </tr>\n </table>\n <table class=\"elements_table\" style=\"width:100%;\">]]\n if selected_index > 0 and #elementsTypes > 0 and elementsTypes[selected_index]:lower():find(\"container\") then\n hud_machines = hud_machines .. [[\n <tr>\n <th>id</th>\n <th>Container Name</th>\n <th>Item Name</th>\n <th>Container Size</th>\n <th>Item Type</th>\n <th>Unit Mass</th>\n <th>Total Mass</th>\n <th>Amount of Items</th>\n ]]\n if not elementsTypes[selected_index]:lower():find(\"hub\") then\n hud_machines = hud_machines .. [[\n <th>Container Fill</th>\n ]]\n end\n hud_machines = hud_machines .. [[</tr>\n ]]\n for i, element in pairs(elements) do\n local splittedName = strSplit(element.name, \"_\")\n local itemName = splittedName[2]\n if not itemName then itemName = \"-\" end\n local machine_id = \"-\"\n if element.id then machine_id = element.id end\n local container_size = \"hub\"\n local container_empty_mass = getIngredient(\"Container Hub\").mass\n local container_volume = 0\n local contentQuantity = 0\n local ingredient = getIngredient(cleanName(itemName))\n if not element.type:lower():find(\"hub\") then\n local containerMaxHP = core.getElementMaxHitPointsById(element.id)\n if containerMaxHP > 17000 then\n container_size = \"L\"\n container_empty_mass = getIngredient(\"Container L\").mass\n container_volume = 128000 * (container_proficiency_lvl * 0.1) + 128000\n elseif containerMaxHP > 7900 then\n container_size = \"M\"\n container_empty_mass = getIngredient(\"Container M\").mass\n container_volume = 64000 * (container_proficiency_lvl * 0.1) + 64000\n elseif containerMaxHP > 900 then\n container_size = \"S\"\n container_empty_mass = getIngredient(\"Container S\").mass\n container_volume = 8000 * (container_proficiency_lvl * 0.1) + 8000\n else\n container_size = \"XS\"\n container_empty_mass = getIngredient(\"Container XS\").mass\n container_volume = 1000 * (container_proficiency_lvl * 0.1) + 1000\n end\n end\n local totalMass = core.getElementMassById(element.id)\n local contentMassKg = totalMass - container_empty_mass\n local contentMass = contentMassKg\n local contentMassUnit = \"Kg\"\n if contentMass > 1000 then\n contentMass = contentMass/1000\n contentMassUnit = \"T\"\n end\n contentMass = utils.round(contentMass*100)/100\n contentQuantity = contentMassKg / ingredient.mass\n local contentPercent = 0\n if (not element.type:lower():find(\"hub\")) --not a hub\n and (not ingredient.type:lower():find(\"error\")) --not item not found\n then\n contentPercent = math.floor((ingredient.volume * contentQuantity)*100/container_volume)\n end\n hud_machines = hud_machines .. [[<tr]]\n if selected_machine_index == i then\n hud_machines = hud_machines .. [[ class=\"selected\"]]\n end\n hud_machines = hud_machines .. [[>\n <th>]] .. machine_id .. [[</th>\n <th>]] .. itemName .. [[</th>\n <th>]] .. ingredient.name .. [[</th>\n <td>]] .. container_size .. [[</td>\n <td>]] .. ingredient.type .. [[</td>\n <td>]] .. ingredient.mass .. [[</td>\n <td>]] .. contentMass .. \" \" .. contentMassUnit .. [[</td>\n <td>]] .. utils.round(contentQuantity*100)/100 .. [[</td>\n ]]\n if not element.type:lower():find(\"hub\") then\n local gauge_color_class = \"bg-success\"\n local text_color_class = \"\"\n if contentPercent < container_fill_red_level then\n gauge_color_class = \"bg-danger\"\n elseif contentPercent < container_fill_yellow_level then\n gauge_color_class = \"bg-warning\"\n text_color_class = \"text-orangered\"\n end\n if ingredient.type:lower():find(\"error\") then\n hud_machines = hud_machines .. [[\n <th style=\"position:relative;width: ]] .. tostring((150/1920)*100) .. [[vw;\">\n -\n </th>\n </tr>\n ]]\n else\n hud_machines = hud_machines .. [[\n <th style=\"position:relative;width: ]] .. tostring((150/1920)*100) .. [[vw;\">\n <div class=\"]] .. gauge_color_class .. [[\" style=\"width:]] .. contentPercent .. [[%;\">&nbsp;</div>\n <div class=\"]] .. text_color_class .. [[\" style=\"position:absolute;width:100%;top:0;padding-top:5px;font-weight:bold;\">\n ]] .. contentPercent .. [[%\n </div>\n </th>\n </tr>\n ]]\n end\n end\n end\n else\n hud_machines = hud_machines .. [[\n <tr>\n <th>id</th>\n <th>Machine Name</th>\n <th>Cycles From Start</th>\n <th>Efficiency</th>\n <th>Status</th>\n <th>Uptime</th>\n </tr>\n ]]\n for i, element in pairs(elements) do\n local status = \"-\"\n if element.status then status = element.status end\n local status_class = \"\"\n if status:lower():find(\"running\") then status_class = \"text-success\" end\n if status:lower():find(\"stopped\") then status_class = \"text-info\" end\n if status:lower():find(\"jammed\") then status_class = \"text-danger\" end\n if status:lower():find(\"pending\") then status_class = \"text-primary\" end\n status = status:gsub(\"JAMMED_\", \"\"):gsub(\"_\", \" \")\n local cyclesFromStart = \"-\"\n if element.cyclesFromStart then cyclesFromStart = element.cyclesFromStart end\n local efficiency = \"-\"\n if element.efficiency then efficiency = math.floor(element.efficiency*100) end\n local uptime = 0\n if element.uptime then uptime = math.floor(element.uptime) end\n hud_machines = hud_machines .. [[<tr]]\n if selected_machine_index == i then\n hud_machines = hud_machines .. [[ class=\"selected\"]]\n end\n local machine_id = \"-\"\n if element.id then machine_id = element.id end\n hud_machines = hud_machines .. [[>\n <th>]] .. machine_id .. [[</th>\n <th class=\"]] .. status_class .. [[\">]] .. element.name .. [[</th>\n <td>]] .. cyclesFromStart .. [[</td>\n <td>]] .. efficiency .. [[%</td>\n <th class=\"]] .. status_class .. [[\">]] .. status .. [[</th>\n <td class=\"]] .. status_class .. [[\">]] .. SecondsToClockString(uptime) .. [[</td>\n </tr>\n ]]\n end\n end\n hud_machines = hud_machines .. [[</table>\n <table class=\"elements_table\" style=\"width:100%\">\n <tr>\n <th>&#x2190; &nbsp;&nbsp; Arrow Left</th>\n <th> Page ]] .. page .. [[/]] .. maxPage .. [[ (from ]] .. minOnPage .. [[ to ]] .. maxOnPage .. [[)</th>\n <th>Arrow Right &nbsp;&nbsp; &#x2192;</th>\n </tr>\n </table>\n <div style=\"text-align:center;font-weight:bold;border-top:1px solid white;\">&#x2193; &nbsp;&nbsp; Arrow Down</div>\n </div>]]\n if #elements > 0 then\n local selected_machine = elements[selected_machine_index]\n --Special Thx to Rutik for his help on how to get the exact the position of the element\n local position = vec3(selected_machine.position)\n local x = position.x - coreOffset\n local y = position.y - coreOffset\n local z = position.z - coreOffset\n local offset1 = 1\n local offset15 = 1.5\n local offset2 = 2\n local offset25 = 2.5\n local offsetFromCenter = 0\n if selected_machine.type:lower():find(\"container\") then\n offset1 = 0\n offset15 = 0\n offset2 = 0\n offset25 = 0\n end\n if selected_machine.type:lower() == \"container\" then\n local containerMaxHP = core.getElementMaxHitPointsById(selected_machine.id)\n if containerMaxHP > 17000 then\n offsetFromCenter = 4\n elseif containerMaxHP > 7900 then\n offsetFromCenter = 2\n elseif containerMaxHP > 900 then\n offsetFromCenter = 1\n else\n offsetFromCenter = 0.5\n end\n end\n if #markers == 0 then\n table.insert(markers, core.spawnArrowSticker(x, y, z, \"down\"))\n table.insert(markers, core.spawnArrowSticker(x, y, z, \"down\"))\n core.rotateSticker(markers[2],0,0,90)\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"north\"))\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"north\"))\n core.rotateSticker(markers[4],90,90,0)\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"south\"))\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"south\"))\n core.rotateSticker(markers[6],90,-90,0)\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"east\"))\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"east\"))\n core.rotateSticker(markers[8],90,0,90)\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"west\"))\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"west\"))\n core.rotateSticker(markers[10],-90,0,90)\n else\n core.moveSticker(markers[1], x, y, z + offset25 + offsetFromCenter)\n core.moveSticker(markers[2], x, y, z + offset25 + offsetFromCenter)\n core.moveSticker(markers[3], x + offset1 + offsetFromCenter, y, z + offset15)\n core.moveSticker(markers[4], x + offset1 + offsetFromCenter, y, z + offset15)\n core.moveSticker(markers[5], x - offset1 - offsetFromCenter, y, z + offset15)\n core.moveSticker(markers[6], x - offset1 - offsetFromCenter, y, z + offset15)\n core.moveSticker(markers[7], x, y - offset2 - offsetFromCenter, z + offset15)\n core.moveSticker(markers[8], x, y - offset2 - offsetFromCenter, z + offset15)\n core.moveSticker(markers[9], x, y + offset2 + offsetFromCenter, z + offset15)\n core.moveSticker(markers[10], x, y + offset2 + offsetFromCenter, z + offset15)\n end\n if not selected_machine.type:lower():find(\"container\") then\n local status = \"-\"\n if selected_machine.status then status = selected_machine.status end\n local status_class = \"\"\n local machines_actions = {}\n if status:lower():find(\"running\") then status_class = \"text-success\" end\n if status:lower():find(\"stopped\") then status_class = \"text-info\" end\n if status:lower():find(\"jammed\") then status_class = \"text-danger\" end\n if status:lower():find(\"pending\") then status_class = \"text-primary\" end\n status = status:gsub(\"JAMMED_\", \"\"):gsub(\"_\", \" \")\n hud_machine_detail = [[<div class=\"hud_machine_detail hud_container\">\n <table>\n <tr>\n <th colspan=\"3\">]] .. selected_machine.name .. [[</th>\n </tr>\n <tr>\n <th class=\"]] .. status_class .. [[\" colspan=\"3\">]] .. status .. [[</th>\n </tr>\n ]]\n if status == \"-\" then\n command_1 = \"\"\n command_2 = \"\"\n command_3 = \"\"\n hud_machine_detail = hud_machine_detail .. [[\n <tr>\n <td>Machine Not Connected</td>\n </tr>\n ]]\n elseif status:lower():find(\"stopped\") then\n command_1 = \"START\"\n command_2 = \"BATCH\"\n command_3 = \"MAINTAIN\"\n hud_machine_detail = hud_machine_detail .. [[\n <tr>\n <th>START</th>\n <th></th>\n <th>ALT+1</th>\n </tr>\n <tr>\n <th style=\"height:65px;\">BATCH</th>\n <th rowspan=\"2\">\n <table>\n <tr>\n <th colspan=\"3\">&#x2191; &nbsp;&nbsp; Alt+Arrow Up</th>\n </tr>\n <tr>\n <th colspan=\"3\">Quantity:</th>\n </tr>\n <tr>\n <th>&#x2190; &nbsp;&nbsp; Alt+<br>Arrow Left</th>\n <th style=\"font-size:20px;\">\n ]]\n for digit_index,digit in pairs(craft_quantity_digits) do\n if digit_index == (#craft_quantity_digits - craft_selected_digit + 1) then\n hud_machine_detail = hud_machine_detail .. [[<span class=\"text-success\">]]\n end\n hud_machine_detail = hud_machine_detail .. digit\n if digit_index == (#craft_quantity_digits - craft_selected_digit + 1) then\n hud_machine_detail = hud_machine_detail .. [[</span>]]\n end\n end\n hud_machine_detail = hud_machine_detail .. [[\n </th>\n <th>Alt+ &nbsp;&nbsp; &#x2192;<br>Arrow Right</th>\n </tr>\n <tr>\n <th colspan=\"3\" style=\"border-bottom:none;\">&#x2193; &nbsp;&nbsp; Alt+Arrow Down</th>\n </tr>\n </table>\n </th>\n <th>ALT+2</th>\n </tr>\n <tr>\n <th>MAINTAIN</th>\n <th>ALT+3</th>\n </tr>\n ]]\n else\n command_1 = \"STOP\"\n command_2 = \"SOFT_STOP\"\n command_3 = \"\"\n hud_machine_detail = hud_machine_detail .. [[\n <tr>\n <th>STOP</th>\n <th>ALT+1</th>\n </tr>\n <tr>\n <th>FINISH AND STOP</th>\n <th>ALT+2</th>\n </tr>\n ]]\n \n end\n hud_machine_detail = hud_machine_detail .. [[</table></div>]]\n end\n end\n end\n system.setScreen(hud_main_css .. hud_help_command .. hud_elements_type_list .. hud_machines .. hud_machine_detail)\n end\n \nelse\n system.setScreen(hud_main_css .. hud_help_command .. [[\n <div class=\"hud_list_container hud_container\">\n \t<table style=\"width:100%\">\n \t\t<tr>\n \t\t\t<th>LOADING ]] .. math.floor(initIndex*100/#elementsIdList) .. [[% ...</th>\n \t\t</tr>\n \t</table>\n </div>\n ]])\nend", 167 + "code": "hud_main_css = [[\n <style>\n .hud_container {\n border: 2px solid orange;\n border-radius:10px;\n background-color: rgba(0,0,0,.75);\n padding:10px;\n }\n .hud_help_commands {\n position: absolute;\n top: ]] .. tostring((10/1080)*100) .. [[vh;\n left: ]] .. tostring((50/1920)*100) .. [[vw;\n text-transform: uppercase;\n font-weight: bold;\n }\n .hud_list_container {\n position: absolute;\n top: ]] .. tostring((125/1080)*100) .. [[vh;\n left: ]] .. tostring((50/1920)*100) .. [[vw;\n text-transform: uppercase;\n font-weight: bold;\n }\n .hud_machine_detail {\n position: absolute;\n top: ]] .. tostring((125/1080)*100) .. [[vh;\n right: ]] .. tostring((450/1920)*100) .. [[vw;\n text-transform: uppercase;\n font-weight: bold;\n }\n .hud_machines_container {\n position: absolute;\n top: ]] .. tostring((125/1080)*100) .. [[vh;\n left: ]] .. tostring((300/1920)*100) .. [[vw;\n }\n .elementType {\n margin-top:10px;\n border-radius:5px;\n }\n .elementType.selected {\n border: 2px solid green;\n background-color: rgba(0,200,0,.45);\n }\n tr.selected td, tr.selected th{\n border: 2px solid green;\n background-color: rgba(0,200,0,.1);\n }\n td, th {\n border-bottom:1px solid white;\n padding:5px;\n text-align: center;\n }\n th {\n font-weight: bold;\n }\n .text-success{color: #28a745;}\n .text-danger{color:#dc3545;}\n .text-warning{color:#ffc107;}\n .text-info{color:#17a2b8;}\n .text-primary{color:#007bff;}\n .text-orangered{color:orangered;}\n .bg-success{background-color: #28a745;}\n .bg-danger{background-color:#dc3545;}\n .bg-warning{background-color:#ffc107;}\n .bg-info{background-color:#17a2b8;}\n .bg-primary{background-color:#007bff;}\n </style>\n]]\n\nif initIndex >= #elementsIdList then\n unit.stopTimer(\"init\")\n --system.print(MyJson.stringify(allTypes))\n if not isTimerStarted then\n isTimerStarted = true\n unit.setTimer(\"buildLists\",1)\n system.setScreen(hud_main_css .. hud_help_command .. [[\n <div class=\"hud_list_container hud_container\">\n \t<table style=\"width:100%\">\n \t\t<tr>\n \t\t\t<th>LOADING ]] .. math.floor(initIndex*100/#elementsIdList) .. [[% ...</th>\n \t\t</tr>\n \t</table>\n </div>\n ]])\n else\n hud_elements_type_list = \"\"\n hud_machines = \"\"\n hud_machine_detail = \"\"\n\n minOnPage = ((page - 1) * elementsByPage) + 1\n maxOnPage = page * elementsByPage\n \n elements = {}\n refresh_id_list = {}\n local temp_elements_for_sorting = {}\n for i,id in pairs(selectedElementsId) do\n elementData = {}\n elementData.id = id\n elementData.name = core.getElementNameById(id)\n table.insert(temp_elements_for_sorting, elementData)\n end\n table.sort(temp_elements_for_sorting, function(a,b) return a.name:lower() < b.name:lower() end)\n for i,elementData in pairs(temp_elements_for_sorting) do\n if i >= minOnPage and i <= maxOnPage then\n elementType = core.getElementTypeById(elementData.id)\n --if Storage.hasKey(elementData.id) == 1 then\n -- elementData = MyJson.parse(Storage.getStringValue(elementData.id))\n --end\n elementData.type = elementType\n elementData.name = core.getElementNameById(elementData.id)\n elementData.position = core.getElementPositionById(elementData.id)\n --elementData.status = core.getElementIndustryStatus(elementData.id)\n \n table.insert(refresh_id_list, elementData.id)\n table.insert(elements, elementData)\n end\n end\n \n if hud_displayed == true then\n selected_type = elementsTypes[selected_index]\n \n hud_elements_type_list = [[<div class=\"hud_list_container hud_container\">\n <div style=\"text-align:center;font-weight:bold;border-bottom:1px solid white;\">&#x2191; &nbsp;&nbsp; Ctrl+Arrow Up</div>\n ]]\n for i, elementType in pairs(elementsTypes) do\n --system.print(elementType)\n hud_elements_type_list = hud_elements_type_list .. [[<div class=\"elementType]]\n if i == selected_index then\n hud_elements_type_list = hud_elements_type_list .. \" selected\"\n end\n local count = 0\n if machines_count[elementType:lower()] ~= nil then count = machines_count[elementType:lower()] end\n hud_elements_type_list = hud_elements_type_list .. [[\">\n <table style=\"width:100%;\">\n <tr>\n <th style=\"text-align:left;border-bottom:none;\">]].. elementType .. [[</th>\n <td style=\"text-align:right;border-bottom:none;\">]] .. tostring(count) .. [[</td>\n </tr>\n </table>\n </div>\n ]]\n end\n hud_elements_type_list = hud_elements_type_list .. [[<div style=\"margin-top:10px;text-align:center;font-weight:bold;border-top:1px solid white;\">&#x2193; &nbsp;&nbsp; Ctrl+Arrow Down</div></div>]]\n local minOnPage = ((page - 1) * elementsByPage) + 1\n if maxOnPage > #selectedElementsId then maxOnPage = #selectedElementsId end\n hud_machines = [[<div class=\"hud_machines_container hud_container\">\n <div style=\"text-align:center;font-weight:bold;border-bottom:1px solid white;\">&#x2191; &nbsp;&nbsp; Arrow Up</div>\n <table class=\"elements_table\" style=\"width:100%\">\n <tr>\n <th>&#x2190; &nbsp;&nbsp; Arrow Left</th>\n <th> Page ]] .. page .. [[/]] .. maxPage .. [[ (from ]] .. minOnPage .. [[ to ]] .. maxOnPage .. [[)</th>\n <th>Arrow Right &nbsp;&nbsp; &#x2192;</th>\n </tr>\n </table>\n <table class=\"elements_table\" style=\"width:100%;\">]]\n if selected_index > 0 and #elementsTypes > 0 and elementsTypes[selected_index]:lower():find(\"container\") then\n hud_machines = hud_machines .. [[\n <tr>\n <th>id</th>\n <th>Container Name</th>\n <th>Item Name</th>\n <th>Container Size</th>\n <th>Item Type</th>\n <th>Unit Mass</th>\n <th>Total Mass</th>\n <th>Amount of Items</th>\n ]]\n if not elementsTypes[selected_index]:lower():find(\"hub\") then\n hud_machines = hud_machines .. [[\n <th>Container Fill</th>\n ]]\n end\n hud_machines = hud_machines .. [[</tr>\n ]]\n for i, element in pairs(elements) do\n local splittedName = strSplit(element.name, \"_\")\n local itemName = splittedName[2]\n if not itemName then itemName = \"-\" end\n local machine_id = \"-\"\n if element.id then machine_id = element.id end\n local container_size = \"hub\"\n local container_empty_mass = getIngredient(\"Container Hub\").mass\n local container_volume = 0\n local contentQuantity = 0\n local ingredient = getIngredient(cleanName(itemName))\n if not element.type:lower():find(\"hub\") then\n local containerMaxHP = core.getElementMaxHitPointsById(element.id)\n if containerMaxHP > 17000 then\n container_size = \"L\"\n container_empty_mass = getIngredient(\"Container L\").mass\n container_volume = 128000 * (container_proficiency_lvl * 0.1) + 128000\n elseif containerMaxHP > 7900 then\n container_size = \"M\"\n container_empty_mass = getIngredient(\"Container M\").mass\n container_volume = 64000 * (container_proficiency_lvl * 0.1) + 64000\n elseif containerMaxHP > 900 then\n container_size = \"S\"\n container_empty_mass = getIngredient(\"Container S\").mass\n container_volume = 8000 * (container_proficiency_lvl * 0.1) + 8000\n else\n container_size = \"XS\"\n container_empty_mass = getIngredient(\"Container XS\").mass\n container_volume = 1000 * (container_proficiency_lvl * 0.1) + 1000\n end\n end\n local totalMass = core.getElementMassById(element.id)\n local contentMassKg = totalMass - container_empty_mass\n local contentMass = contentMassKg\n local contentMassUnit = \"Kg\"\n if contentMass > 1000 then\n contentMass = contentMass/1000\n contentMassUnit = \"T\"\n end\n contentMass = utils.round(contentMass*100)/100\n contentQuantity = contentMassKg / ingredient.mass\n local contentPercent = 0\n if (not element.type:lower():find(\"hub\")) --not a hub\n and (not ingredient.type:lower():find(\"error\")) --not item not found\n then\n contentPercent = math.floor((ingredient.volume * contentQuantity)*100/container_volume)\n end\n hud_machines = hud_machines .. [[<tr]]\n if selected_machine_index == i then\n hud_machines = hud_machines .. [[ class=\"selected\"]]\n end\n hud_machines = hud_machines .. [[>\n <th>]] .. machine_id .. [[</th>\n <th>]] .. itemName .. [[</th>\n <th>]] .. ingredient.name .. [[</th>\n <td>]] .. container_size .. [[</td>\n <td>]] .. ingredient.type .. [[</td>\n <td>]] .. ingredient.mass .. [[</td>\n <td>]] .. contentMass .. \" \" .. contentMassUnit .. [[</td>\n <td>]] .. utils.round(contentQuantity*100)/100 .. [[</td>\n ]]\n if not element.type:lower():find(\"hub\") then\n local gauge_color_class = \"bg-success\"\n local text_color_class = \"\"\n if contentPercent < container_fill_red_level then\n gauge_color_class = \"bg-danger\"\n elseif contentPercent < container_fill_yellow_level then\n gauge_color_class = \"bg-warning\"\n text_color_class = \"text-orangered\"\n end\n if ingredient.type:lower():find(\"error\") then\n hud_machines = hud_machines .. [[\n <th style=\"position:relative;width: ]] .. tostring((150/1920)*100) .. [[vw;\">\n -\n </th>\n </tr>\n ]]\n else\n hud_machines = hud_machines .. [[\n <th style=\"position:relative;width: ]] .. tostring((150/1920)*100) .. [[vw;\">\n <div class=\"]] .. gauge_color_class .. [[\" style=\"width:]] .. contentPercent .. [[%;\">&nbsp;</div>\n <div class=\"]] .. text_color_class .. [[\" style=\"position:absolute;width:100%;top:0;padding-top:5px;font-weight:bold;\">\n ]] .. contentPercent .. [[%\n </div>\n </th>\n </tr>\n ]]\n end\n end\n end\n else\n hud_machines = hud_machines .. [[\n <tr>\n <th>id</th>\n <th>Machine Name</th>\n \t <th>Selected Recipe</th>\n <th>Cycles From Start</th>\n <th>Status</th>\n <th>Mode</th>\n <th>Time Remaining</th>\n </tr>\n ]]\n for i, element in pairs(elements) do\n local statusData = json.decode(core.getElementIndustryStatus(element.id))\n local recipeName = \"-\"\n if loadedRecipes[statusData.schematicId] then\n recipeName = loadedRecipes[statusData.schematicId]\n else\n if has_value(recipeToLoad,statusData.schematicId) == false then\n table.insert(recipeToLoad, statusData.schematicId)\n end\n end\n local remainingTime = 0\n if (statusData) and (statusData.remainingTime) and (statusData.remainingTime <= (3600*24*365)) then\n remainingTime = statusData.remainingTime\n end\n element.recipeName = recipeName\n element.remainingTime = remainingTime\n element.status = statusData.state\n element.unitsProduced = statusData.unitsProduced\n local mode = \"\"\n element.maintainProductAmount = statusData.maintainProductAmount\n element.batchesRequested = statusData.batchesRequested\n if statusData.maintainProductAmount > 0 then\n \tmode = \"Maintain \" .. statusData.maintainProductAmount\n elseif statusData.batchesRequested > 0 and statusData.batchesRequested <= 99999999 then\n mode = \"Produce \" .. statusData.batchesRequested\n end\n local status = \"-\"\n if element.status then status = element.status end\n local status_class = \"\"\n if status:lower():find(\"running\") then status_class = \"text-success\" end\n if status:lower():find(\"stopped\") then status_class = \"text-info\" end\n if status:lower():find(\"jammed\") then status_class = \"text-danger\" end\n if status:lower():find(\"pending\") then status_class = \"text-primary\" end\n status = status:gsub(\"JAMMED_\", \"\"):gsub(\"_\", \" \")\n hud_machines = hud_machines .. [[<tr]]\n if selected_machine_index == i then\n hud_machines = hud_machines .. [[ class=\"selected\"]]\n end\n local machine_id = \"-\"\n if element.id then machine_id = element.id end\n local unitsProduced = 0\n if element.unitsProduced then unitsProduced = element.unitsProduced end\n hud_machines = hud_machines .. [[>\n <th>]] .. machine_id .. [[</th>\n <th class=\"]] .. status_class .. [[\">]] .. element.name .. [[</th>\n <th>]] .. recipeName .. [[</th>\n <td>]] .. unitsProduced .. [[</td>\n <th class=\"]] .. status_class .. [[\">]] .. status .. [[</th>\n \t\t <th>]] .. mode .. [[</th>\n <td class=\"]] .. status_class .. [[\">]] .. SecondsToClockString(element.remainingTime) .. [[</td>\n </tr>\n ]]\n end\n end\n hud_machines = hud_machines .. [[</table>\n <table class=\"elements_table\" style=\"width:100%\">\n <tr>\n <th>&#x2190; &nbsp;&nbsp; Arrow Left</th>\n <th> Page ]] .. page .. [[/]] .. maxPage .. [[ (from ]] .. minOnPage .. [[ to ]] .. maxOnPage .. [[)</th>\n <th>Arrow Right &nbsp;&nbsp; &#x2192;</th>\n </tr>\n </table>\n <div style=\"text-align:center;font-weight:bold;border-top:1px solid white;\">&#x2193; &nbsp;&nbsp; Arrow Down</div>\n </div>]]\n if #elements > 0 then\n local selected_machine = elements[selected_machine_index]\n --Special Thx to Rutik for his help on how to get the exact the position of the element\n local position = vec3(selected_machine.position)\n local x = position.x - coreOffset\n local y = position.y - coreOffset\n local z = position.z - coreOffset\n local offset1 = 1\n local offset15 = 1.5\n local offset2 = 2\n local offset25 = 2.5\n local offsetFromCenter = 0\n if selected_machine.type:lower():find(\"container\") then\n offset1 = 0\n offset15 = 0\n offset2 = 0\n offset25 = 0\n end\n if selected_machine.type:lower() == \"container\" then\n local containerMaxHP = core.getElementMaxHitPointsById(selected_machine.id)\n if containerMaxHP > 17000 then\n offsetFromCenter = 4\n elseif containerMaxHP > 7900 then\n offsetFromCenter = 2\n elseif containerMaxHP > 900 then\n offsetFromCenter = 1\n else\n offsetFromCenter = 0.5\n end\n end\n if #markers == 0 then\n table.insert(markers, core.spawnArrowSticker(x, y, z, \"down\"))\n table.insert(markers, core.spawnArrowSticker(x, y, z, \"down\"))\n core.rotateSticker(markers[2],0,0,90)\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"north\"))\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"north\"))\n core.rotateSticker(markers[4],90,90,0)\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"south\"))\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"south\"))\n core.rotateSticker(markers[6],90,-90,0)\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"east\"))\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"east\"))\n core.rotateSticker(markers[8],90,0,90)\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"west\"))\n table.insert(markers, core.spawnArrowSticker(x, y, z + offset15, \"west\"))\n core.rotateSticker(markers[10],-90,0,90)\n else\n core.moveSticker(markers[1], x, y, z + offset25 + offsetFromCenter)\n core.moveSticker(markers[2], x, y, z + offset25 + offsetFromCenter)\n core.moveSticker(markers[3], x + offset1 + offsetFromCenter, y, z + offset15)\n core.moveSticker(markers[4], x + offset1 + offsetFromCenter, y, z + offset15)\n core.moveSticker(markers[5], x - offset1 - offsetFromCenter, y, z + offset15)\n core.moveSticker(markers[6], x - offset1 - offsetFromCenter, y, z + offset15)\n core.moveSticker(markers[7], x, y - offset2 - offsetFromCenter, z + offset15)\n core.moveSticker(markers[8], x, y - offset2 - offsetFromCenter, z + offset15)\n core.moveSticker(markers[9], x, y + offset2 + offsetFromCenter, z + offset15)\n core.moveSticker(markers[10], x, y + offset2 + offsetFromCenter, z + offset15)\n end\n if (not selected_machine.type:lower():find(\"container\")) and (enableRemoteControl == true) then\n local status = \"-\"\n if selected_machine.status then status = selected_machine.status end\n local status_class = \"\"\n local machines_actions = {}\n if status:lower():find(\"running\") then status_class = \"text-success\" end\n if status:lower():find(\"stopped\") then status_class = \"text-info\" end\n if status:lower():find(\"jammed\") then status_class = \"text-danger\" end\n if status:lower():find(\"pending\") then status_class = \"text-primary\" end\n status = status:gsub(\"JAMMED_\", \"\"):gsub(\"_\", \" \")\n hud_machine_detail = [[<div class=\"hud_machine_detail hud_container\">\n <table>\n <tr>\n <th colspan=\"3\">]] .. selected_machine.name .. [[</th>\n </tr>\n <tr>\n <th class=\"]] .. status_class .. [[\" colspan=\"3\">]] .. status .. [[</th>\n </tr>\n ]]\n if status == \"-\" then\n command_1 = \"\"\n command_2 = \"\"\n command_3 = \"\"\n hud_machine_detail = hud_machine_detail .. [[\n <tr>\n <td>Machine Not Connected</td>\n </tr>\n ]]\n elseif status:lower():find(\"stopped\") then\n command_1 = \"START\"\n command_2 = \"BATCH\"\n command_3 = \"MAINTAIN\"\n hud_machine_detail = hud_machine_detail .. [[\n <tr>\n <th>START</th>\n <th></th>\n <th>ALT+1</th>\n </tr>\n <tr>\n <th style=\"height:65px;\">BATCH</th>\n <th rowspan=\"2\">\n <table>\n <tr>\n <th colspan=\"3\">Quantity:</th>\n </tr>\n <tr>\n <th style=\"font-size:20px;\">\n ]]\n local has_quantity = false\n for k,v in pairs(craft_quantity_digits) do\n \tif tonumber(v) > 0 then\n \thas_quantity = true\n \tend\n end\n if not has_quantity then\n local value = \"0\"\n if selected_machine.maintainProductAmount > 0 then\n --mode = \"Maintain \" .. selected_machine.maintainProductAmount\n value = tostring(selected_machine.maintainProductAmount)\n elseif selected_machine.batchesRequested > 0 and selected_machine.batchesRequested <= 99999999 then\n --mode = \"Produce \" .. selected_machine.batchesRequested\n value = tostring(selected_machine.batchesRequested)\n end\n for i = #value, 1, -1 do\n local c = value:sub(i,i)\n craft_quantity_digits[9-(#value-(i-1))] = c\n end\n end\n for digit_index,digit in pairs(craft_quantity_digits) do\n hud_machine_detail = hud_machine_detail .. digit\n end\n hud_machine_detail = hud_machine_detail .. [[\n </th>\n </tr>\n </table>\n </th>\n <th>ALT+2</th>\n </tr>\n <tr>\n <th>MAINTAIN</th>\n <th>ALT+3</th>\n </tr>\n ]]\n else\n command_1 = \"STOP\"\n command_2 = \"SOFT_STOP\"\n command_3 = \"\"\n hud_machine_detail = hud_machine_detail .. [[\n <tr>\n <th>STOP</th>\n <th>ALT+1</th>\n </tr>\n <tr>\n <th>FINISH AND STOP</th>\n <th>ALT+2</th>\n </tr>\n ]]\n \n end\n hud_machine_detail = hud_machine_detail .. [[</table></div>]]\n end\n end\n end\n system.setScreen(hud_main_css .. hud_help_command .. hud_elements_type_list .. hud_machines .. hud_machine_detail)\n end\n \nelse\n system.setScreen(hud_main_css .. hud_help_command .. [[\n <div class=\"hud_list_container hud_container\">\n \t<table style=\"width:100%\">\n \t\t<tr>\n \t\t\t<th>LOADING ]] .. math.floor(initIndex*100/#elementsIdList) .. [[% ...</th>\n \t\t</tr>\n \t</table>\n </div>\n ]])\nend", 168 168 "filter": { 169 169 "args": [], 170 170 "signature": "update()", ··· 186 186 "key": "7" 187 187 }, 188 188 { 189 - "code": "if Alt_pressed == true then\n if craft_selected_digit < #craft_quantity_digits then\n craft_selected_digit = craft_selected_digit + 1\n end\nelse\n if page > 1 then\n page = page - 1\n selected_machine_index = 1\n Storage.clear()\n end\nend", 189 + "code": "if page > 1 then\n page = page - 1\n selected_machine_index = 1\n Storage.clear()\nend", 190 190 "filter": { 191 191 "args": [ 192 192 { ··· 199 199 "key": "8" 200 200 }, 201 201 { 202 - "code": "if Alt_pressed == true then\n if craft_selected_digit > 1 then\n craft_selected_digit = craft_selected_digit - 1\n end\nelse\n if page < maxPage then\n page = page + 1\n selected_machine_index = 1\n Storage.clear()\n end\nend", 202 + "code": "if page < maxPage then\n page = page + 1\n selected_machine_index = 1\n Storage.clear()\nend", 203 203 "filter": { 204 204 "args": [ 205 205 { ··· 212 212 "key": "9" 213 213 }, 214 214 { 215 - "code": "if Ctrl_pressed == true and Alt_pressed == false then\n if selected_index > 1 then\n selected_index = selected_index - 1\n selected_machine_index = 1\n page = 1\n Storage.clear()\n craft_quantity_digits = {\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"}\n selectedElementsId = {}\n end\nelseif Alt_pressed == true and Ctrl_pressed == false then\n local digit_index = #craft_quantity_digits - craft_selected_digit + 1\n local value = tonumber(craft_quantity_digits[digit_index]) + 1\n if value >= 10 then value = 0 end\n craft_quantity_digits[digit_index] = tostring(value)\nelse\n if selected_machine_index > 1 then\n selected_machine_index = selected_machine_index - 1\n craft_quantity_digits = {\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"}\n end\nend", 215 + "code": "if Ctrl_pressed == true then\n if selected_index > 1 then\n selected_index = selected_index - 1\n selected_machine_index = 1\n page = 1\n Storage.clear()\n craft_quantity_digits = {\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"}\n selectedElementsId = {}\n end\nelse\n if selected_machine_index > 1 then\n selected_machine_index = selected_machine_index - 1\n craft_quantity_digits = {\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"}\n end\nend", 216 216 "filter": { 217 217 "args": [ 218 218 { ··· 225 225 "key": "10" 226 226 }, 227 227 { 228 - "code": "if Ctrl_pressed == true and Alt_pressed == false then\n if selected_index < #elementsTypes then\n selected_index = selected_index + 1\n selected_machine_index = 1\n page = 1\n Storage.clear()\n craft_quantity_digits = {\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"}\n selectedElementsId = {}\n end\nelseif Alt_pressed == true and Ctrl_pressed == false then\n local digit_index = #craft_quantity_digits - craft_selected_digit + 1\n local value = tonumber(craft_quantity_digits[digit_index]) - 1\n if value < 0 then value = 9 end\n craft_quantity_digits[digit_index] = tostring(value)\nelse\n if selected_machine_index < #elements then\n selected_machine_index = selected_machine_index + 1\n craft_quantity_digits = {\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"}\n end\nend", 228 + "code": "if Ctrl_pressed == true then\n if selected_index < #elementsTypes then\n selected_index = selected_index + 1\n selected_machine_index = 1\n page = 1\n Storage.clear()\n craft_quantity_digits = {\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"}\n selectedElementsId = {}\n end\nelse\n if selected_machine_index < #elements then\n selected_machine_index = selected_machine_index + 1\n craft_quantity_digits = {\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"}\n end\nend", 229 229 "filter": { 230 230 "args": [ 231 231 { ··· 264 264 "key": "13" 265 265 }, 266 266 { 267 - "code": "Alt_pressed = true", 268 - "filter": { 269 - "args": [ 270 - { 271 - "value": "lalt" 272 - } 273 - ], 274 - "signature": "actionStart(action)", 275 - "slotKey": "-2" 276 - }, 277 - "key": "14" 278 - }, 279 - { 280 - "code": "Alt_pressed = false", 281 - "filter": { 282 - "args": [ 283 - { 284 - "value": "lalt" 285 - } 286 - ], 287 - "signature": "actionStop(action)", 288 - "slotKey": "-2" 289 - }, 290 - "key": "15" 291 - }, 292 - { 293 - "code": "--Send Command 1\nlocal selected_machine = elements[selected_machine_index]\nfor _,db in pairs(databanks) do\n if db.hasKey(selected_machine.id) == 1 then\n selected_machine.command = command_1\n db.setStringValue(selected_machine.id, MyJson.stringify(selected_machine))\n end\nend", 267 + "code": "if enableRemoteControl == true then\n system.print(\"command 1\")\n --Send Command 1\n local selected_machine = elements[selected_machine_index]\n for _,db in pairs(databanks) do\n --selected_machine.command = command_1\n db.setStringValue(selected_machine.id, command_1)\n end\n if emitter ~= nil then\n emitter.send(channels[elementsTypes[selected_index]:lower()], \"\")\n else\n system.print(\"Emitter not Linked\")\n end\nend", 294 268 "filter": { 295 269 "args": [ 296 270 { ··· 300 274 "signature": "actionStart(action)", 301 275 "slotKey": "-2" 302 276 }, 303 - "key": "16" 277 + "key": "14" 304 278 }, 305 279 { 306 - "code": "--Send Command 12\nlocal selected_machine = elements[selected_machine_index]\nfor _,db in pairs(databanks) do\n if db.hasKey(selected_machine.id) == 1 then\n if command_2:find(\"MAINTAIN\") or command_2:find(\"BATCH\") then\n craft_quantity = \"\"\n for _,digit in pairs(craft_quantity_digits) do\n craft_quantity = craft_quantity .. digit\n end\n command_2 = command_2 .. \"_\" .. craft_quantity\n end\n selected_machine.command = command_2\n db.setStringValue(selected_machine.id, MyJson.stringify(selected_machine))\n if command_2:find(\"MAINTAIN\") then command_2 = \"MAINTAIN\" end\n if command_2:find(\"BATCH\") then command_2 = \"BATCH\" end\n end\nend", 280 + "code": "if enableRemoteControl == true then \n --Send Command 12\n local selected_machine = elements[selected_machine_index]\n for _,db in pairs(databanks) do\n if command_2:find(\"MAINTAIN\") or command_2:find(\"BATCH\") then\n craft_quantity = \"\"\n for _,digit in pairs(craft_quantity_digits) do\n craft_quantity = craft_quantity .. digit\n end\n command_2 = command_2 .. \"_\" .. craft_quantity\n end\n --selected_machine.command = command_2\n db.setStringValue(selected_machine.id, command_2)\n if command_2:find(\"MAINTAIN\") then command_2 = \"MAINTAIN\" end\n if command_2:find(\"BATCH\") then command_2 = \"BATCH\" end\n end\n if emitter ~= nil then\n emitter.send(channels[elementsTypes[selected_index]:lower()], \"\")\n else\n system.print(\"Emitter not Linked\")\n end\nend", 307 281 "filter": { 308 282 "args": [ 309 283 { ··· 313 287 "signature": "actionStart(action)", 314 288 "slotKey": "-2" 315 289 }, 316 - "key": "17" 290 + "key": "15" 317 291 }, 318 292 { 319 - "code": "--Send Command 3\nlocal selected_machine = elements[selected_machine_index]\nfor _,db in pairs(databanks) do\n if db.hasKey(selected_machine.id) == 1 then\n if command_3:find(\"MAINTAIN\") or command_3:find(\"BATCH\") then\n craft_quantity = \"\"\n for _,digit in pairs(craft_quantity_digits) do\n craft_quantity = craft_quantity .. digit\n end\n command_3 = command_3 .. \"_\" .. craft_quantity\n end\n selected_machine.command = command_3\n db.setStringValue(selected_machine.id, MyJson.stringify(selected_machine))\n if command_3:find(\"MAINTAIN\") then command_3 = \"MAINTAIN\" end\n if command_3:find(\"BATCH\") then command_3 = \"BATCH\" end\n end\nend", 293 + "code": "if enableRemoteControl == true then \n --Send Command 3\n local selected_machine = elements[selected_machine_index]\n for _,db in pairs(databanks) do\n if command_3:find(\"MAINTAIN\") or command_3:find(\"BATCH\") then\n craft_quantity = \"\"\n for _,digit in pairs(craft_quantity_digits) do\n craft_quantity = craft_quantity .. digit\n end\n command_3 = command_3 .. \"_\" .. craft_quantity\n end\n --selected_machine.command = command_3\n db.setStringValue(selected_machine.id, command_3)\n if command_3:find(\"MAINTAIN\") then command_3 = \"MAINTAIN\" end\n if command_3:find(\"BATCH\") then command_3 = \"BATCH\" end\n end\n if emitter ~= nil then\n emitter.send(channels[elementsTypes[selected_index]:lower()], \"\")\n else\n system.print(\"Emitter not Linked\")\n end\nend", 320 294 "filter": { 321 295 "args": [ 322 296 { ··· 326 300 "signature": "actionStart(action)", 327 301 "slotKey": "-2" 328 302 }, 329 - "key": "18" 303 + "key": "16" 330 304 }, 331 305 { 332 - "code": "refreshActivated = not refreshActivated", 306 + "code": "system.print(text)\nif tonumber(text) then\n if #text > 8 then\n system.print(\"the value should not be higher than 99 999 999.\")\n else\n for i = #text, 1, -1 do\n local c = text:sub(i,i)\n craft_quantity_digits[9-(#text-(i-1))] = c\n end\n end\nelse\n system.print(\"You must type a Number\")\nend", 333 307 "filter": { 334 308 "args": [ 335 309 { 336 - "value": "option8" 310 + "variable": "*" 337 311 } 338 312 ], 339 - "signature": "actionStart(action)", 313 + "signature": "inputText(text)", 340 314 "slotKey": "-2" 341 315 }, 342 - "key": "19" 316 + "key": "17" 343 317 }, 344 318 { 345 319 "code": "--[[\n\tDatabank HUB\n\tInspired by the original BankRaid Script written by ilodev\n\tModified to act like a databank hub by Jericho (read and clear only)\n]]\nbankhub = {}\n\nfunction bankhub:new(banks)\n o = {}\n setmetatable(o, self);\n self.__index = self;\n o.banks = banks or {}\n\n -- databank shortcuts to allow in-game syntax.\n function o.clear() return o:_clear() end\n function o.getNbKeys() return o:_getNbKeys() end\n function o.getKeys() return o:_getKeys() end\n function o.hasKey(key) return o:_hasKey(key) end\n function o.getStringValue(key) return o:_getStringValue(key) end\n function o.getIntValue(key) return o:_getIntValue(key) end\n function o.getFloatValue(key) return o:_getFloatValue(key) end\n\n return o\nend\n--- Adds another databank to the raid.\n--- @param object The databank unit to add.\nfunction bankhub:add(element)\n table.insert( self.banks, element)\n self.banks_size = #self.banks\nend\n--- Clears the databank array\nfunction bankhub:_clear()\n for _,bank in pairs(self.banks) do bank.clear() end\nend\n--- Returns the number of keys in the entire databank table\n--- @return integer number of total keys\nfunction bankhub:_getNbKeys()\n local res = 0\n for _,bank in pairs(self.banks) do res = res + bank.getNbKeys() end\n return res\nend\n\n--- Returns all the keys in the databank array\n--- @return string json encoded string of keys\nfunction bankhub:_getKeys()\n local res = {}\n for _,bank in pairs(self.banks) do\n local keys = json.decode(bank.getKeys())\n for _,k in pairs(keys) do table.insert(res, k) end\n end\n return json.encode(res)\nend\n\n--- Checks if a key exists in the databank array\n--- @param string key\n--- @return boolean returns 1 if the array holds this key.\nfunction bankhub:_hasKey(key)\n for _,bank in pairs(self.banks) do\n if (bank.hasKey(key) == 1) then return 1 end\n end\n return 0\nend\n\n--- Returns the value of the key if existing\n--- @param string key\n--- @return string returns value or nil\nfunction bankhub:_getStringValue(key)\n for _,bank in pairs(self.banks) do\n if (bank.hasKey(key) == 1) then\n return bank.getStringValue(key)\n end\n end\n return nil\nend\n\n--- Returns the integer value of the key if existing\n--- @param string key\n--- @return number returns value or nil\nfunction bankhub:_getIntValue(key)\n for _,bank in pairs(self.banks) do\n if (bank.hasKey(key) == 1) then\n return banks.getIntValue(key)\n end\n end\n return nil\nend\n\n--- Returns the float value of the key if existing\n--- @param string key\n--- @return number returns value or nil\nfunction bankhub:_getFloatValue(key)\n for _,bank in pairs(self.banks) do\n if (bank.hasKey(key) == 1) then\n return banks.getFloatValue(key)\n end\n end\n return nil\nend", ··· 348 322 "signature": "start()", 349 323 "slotKey": "-3" 350 324 }, 351 - "key": "20" 325 + "key": "18" 352 326 }, 353 327 { 354 - "code": "--[[\n\tRemove duplicate elements in a lua table\n\tBy Jericho\n]]\nfunction removeDuplicatesInTable(data) \n local hash = {}\n local res = {}\n for _,v in ipairs(data) do\n if (not hash[v]) then\n res[#res+1] = v\n hash[v] = true\n end\n end\n return res\nend\n\n--[[\n\tsplit a string on a delimiter\n\tBy jericho\n]]\nfunction strSplit(s, delimiter)\n result = {};\n for match in (s..delimiter):gmatch(\"(.-)\"..delimiter) do\n table.insert(result, match);\n end\n return result;\nend\n\n--[[\n\tConvert timestamp in a string representing a dureation in days, hours, minutes and seconds\n\tBy Jericho\n]]\nfunction SecondsToClockString(seconds)\n local seconds = tonumber(seconds)\n\n if seconds == nil or seconds <= 0 then\n return \"-\";\n else\n days = string.format(\"%2.f\", math.floor(seconds/(3600*24)));\n hours = string.format(\"%2.f\", math.floor(seconds/3600 - (days*24)));\n mins = string.format(\"%2.f\", math.floor(seconds/60 - (hours*60) - (days*24*60)));\n secs = string.format(\"%2.f\", math.floor(seconds - hours*3600 - (days*24*60*60) - mins *60));\n str = \"\"\n if tonumber(days) > 0 then str = str .. days..\"d \" end\n if tonumber(hours) > 0 then str = str .. hours..\"h \" end\n if tonumber(mins) > 0 then str = str .. mins..\"m \" end\n if tonumber(secs) > 0 then str = str .. secs ..\"s\" end\n return str\n end\nend", 328 + "code": "--[[\n\tRemove duplicate elements in a lua table\n\tBy Jericho\n]]\nfunction removeDuplicatesInTable(data) \n local hash = {}\n local res = {}\n for _,v in ipairs(data) do\n if (not hash[v]) then\n res[#res+1] = v\n hash[v] = true\n end\n end\n return res\nend\n\n--[[\n\tsplit a string on a delimiter\n\tBy jericho\n]]\nfunction strSplit(s, delimiter)\n result = {};\n for match in (s..delimiter):gmatch(\"(.-)\"..delimiter) do\n table.insert(result, match);\n end\n return result;\nend\n\n--[[\n\tConvert timestamp in a string representing a dureation in days, hours, minutes and seconds\n\tBy Jericho\n]]\nfunction SecondsToClockString(seconds)\n local seconds = tonumber(seconds)\n\n if seconds == nil or seconds <= 0 then\n return \"-\";\n else\n days = string.format(\"%2.f\", math.floor(seconds/(3600*24)));\n hours = string.format(\"%2.f\", math.floor(seconds/3600 - (days*24)));\n mins = string.format(\"%2.f\", math.floor(seconds/60 - (hours*60) - (days*24*60)));\n secs = string.format(\"%2.f\", math.floor(seconds - hours*3600 - (days*24*60*60) - mins *60));\n str = \"\"\n if tonumber(days) > 0 then str = str .. days..\"d \" end\n if tonumber(hours) > 0 then str = str .. hours..\"h \" end\n if tonumber(mins) > 0 then str = str .. mins..\"m \" end\n if tonumber(secs) > 0 then str = str .. secs ..\"s\" end\n return str\n end\nend\n\n--[[\n\tremove the quality if exist in a string\n]]\nfunction removeQualityInName(name)\n if not name then return '' end\n return name:lower():gsub('basic ', ''):gsub('uncommon ', ''):gsub('advanced ', ''):gsub('rare ', ''):gsub('exotic ', '')\nend\n\n--[[\n\tcheck if a value exist in a table\n]]\nfunction has_value (tab, val)\n for index, value in ipairs(tab) do\n if value == val then\n return true\n end\n end\n\n return false\nend", 355 329 "filter": { 356 330 "args": [], 357 331 "signature": "start()", 358 332 "slotKey": "-3" 359 333 }, 360 - "key": "21" 334 + "key": "19" 361 335 }, 362 336 { 363 337 "code": "--[[\n\tClock script from Leodr, modified and updated by Jericho\n\toriginal script: https://github.com/leodr99/DU-quick_n_dirty-scripts/blob/main/clock/clock.lua\n]]\n--Globals\nlocal outputTime = false --for debug\nlocal summertime = false --export: summer time enabled\n--\n--//functions\nfunction epochTime()function rZ(a)if string.len(a)<=1 then return\"0\"..a else return a end end;function dPoint(b)if not(b==math.floor(b))then return true else return false end end;function lYear(year)if not dPoint(year/4)then if dPoint(year/100)then return true else if not dPoint(year/400)then return true else return false end end else return false end end;local c=5;local d=3600;local e=86400;local f=31536000;local g=31622400;local h=2419200;local i=2505600;local j=2592000;local k=2678400;local l={4,6,9,11}local m={1,3,5,7,8,10,12}local n=0;local o=1506816000;local p={\"Tur,\",\"Fri,\",\"Sat,\",\"Sun,\",\"Mon,\",\"Tue,\",\"Wed,\"}local q=system.getTime()if summertime==true then q=q+3600 end;now=math.floor(q+o)year=1970;secs=0;n=0;while secs+g<now or secs+f<now do if lYear(year+1)then if secs+g<now then secs=secs+g;year=year+1;n=n+366 end else if secs+f<now then secs=secs+f;year=year+1;n=n+365 end end end;secondsRemaining=now-secs;monthSecs=0;yearlYear=lYear(year)month=1;while monthSecs+h<secondsRemaining or monthSecs+j<secondsRemaining or monthSecs+k<secondsRemaining do if month==1 then if monthSecs+k<secondsRemaining then month=2;monthSecs=monthSecs+k;n=n+31 else break end end;if month==2 then if not yearlYear then if monthSecs+h<secondsRemaining then month=3;monthSecs=monthSecs+h;n=n+28 else break end else if monthSecs+i<secondsRemaining then month=3;monthSecs=monthSecs+i;n=n+29 else break end end end;if month==3 then if monthSecs+k<secondsRemaining then month=4;monthSecs=monthSecs+k;n=n+31 else break end end;if month==4 then if monthSecs+j<secondsRemaining then month=5;monthSecs=monthSecs+j;n=n+30 else break end end;if month==5 then if monthSecs+k<secondsRemaining then month=6;monthSecs=monthSecs+k;n=n+31 else break end end;if month==6 then if monthSecs+j<secondsRemaining then month=7;monthSecs=monthSecs+j;n=n+30 else break end end;if month==7 then if monthSecs+k<secondsRemaining then month=8;monthSecs=monthSecs+k;n=n+31 else break end end;if month==8 then if monthSecs+k<secondsRemaining then month=9;monthSecs=monthSecs+k;n=n+31 else break end end;if month==9 then if monthSecs+j<secondsRemaining then month=10;monthSecs=monthSecs+j;n=n+30 else break end end;if month==10 then if monthSecs+k<secondsRemaining then month=11;monthSecs=monthSecs+k;n=n+31 else break end end;if month==11 then if monthSecs+j<secondsRemaining then month=12;monthSecs=monthSecs+j;n=n+30 else break end end end;day=1;daySecs=0;daySecsRemaining=secondsRemaining-monthSecs;while daySecs+e<daySecsRemaining do day=day+1;daySecs=daySecs+e;n=n+1 end;hour=0;hourSecs=0;hourSecsRemaining=daySecsRemaining-daySecs;while hourSecs+d<hourSecsRemaining do hour=hour+1;hourSecs=hourSecs+d end;minute=0;minuteSecs=0;minuteSecsRemaining=hourSecsRemaining-hourSecs;while minuteSecs+60<minuteSecsRemaining do minute=minute+1;minuteSecs=minuteSecs+60 end;second=math.floor(now%60)year=rZ(year)month=rZ(month)day=rZ(day)hour=rZ(hour)minute=rZ(minute)second=rZ(second)remanderForDOW=n%7;DOW=p[remanderForDOW]if outputTime then str=\"Year: \"..year..\", Month: \"..month..\", Day: \"..day..\", Hour: \"..hour..\", Minute: \"..minute..\", Second: \"..second..\", Day of Week: \"..DOW;system.print(str)end;return year,month,day,hour,minute,second,DOW end", ··· 366 340 "signature": "start()", 367 341 "slotKey": "-3" 368 342 }, 369 - "key": "22" 370 - }, 371 - { 372 - "code": "--[[\n\tCustom JSON Parser and Encoder to use less CPU\n\tOriginal script from : https://gist.github.com/tylerneylon/59f4bcf316be525b30ab\n\tModified for DualUniverse by jericho\n]]\n\nMyJson = {}\n\n\n-- Internal functions.\n\nlocal function kind_of(obj)\n if type(obj) ~= 'table' then return type(obj) end\n local i = 1\n for _ in pairs(obj) do\n if obj[i] ~= nil then i = i + 1 else return 'table' end\n end\n if i == 1 then return 'table' else return 'array' end\nend\n\nlocal function escape_str(s)\n local in_char = {'\\\\', '\"', '/', '\\b', '\\f', '\\n', '\\r', '\\t'}\n local out_char = {'\\\\', '\"', '/', 'b', 'f', 'n', 'r', 't'}\n for i, c in ipairs(in_char) do\n s = s:gsub(c, '\\\\' .. out_char[i])\n end\n return s\nend\n\n-- Returns pos, did_find; there are two cases:\n-- 1. Delimiter found: pos = pos after leading space + delim; did_find = true.\n-- 2. Delimiter not found: pos = pos after leading space; did_find = false.\n-- This throws an error if err_if_missing is true and the delim is not found.\nlocal function skip_delim(str, pos, delim, err_if_missing)\n pos = pos + #str:match('^%s*', pos)\n if str:sub(pos, pos) ~= delim then\n if err_if_missing then\n error('Expected ' .. delim .. ' near position ' .. pos)\n end\n return pos, false\n end\n return pos + 1, true\nend\n\n-- Expects the given pos to be the first character after the opening quote.\n-- Returns val, pos; the returned pos is after the closing quote character.\nlocal function parse_str_val(str, pos, val)\n val = val or ''\n local early_end_error = 'End of input found while parsing string.'\n if pos > #str then error(early_end_error) end\n local c = str:sub(pos, pos)\n if c == '\"' then return val, pos + 1 end\n if c ~= '\\\\' then return parse_str_val(str, pos + 1, val .. c) end\n -- We must have a \\ character.\n local esc_map = {b = '\\b', f = '\\f', n = '\\n', r = '\\r', t = '\\t'}\n local nextc = str:sub(pos + 1, pos + 1)\n if not nextc then error(early_end_error) end\n return parse_str_val(str, pos + 2, val .. (esc_map[nextc] or nextc))\nend\n\n-- Returns val, pos; the returned pos is after the number's final character.\nlocal function parse_num_val(str, pos)\n local num_str = str:match('^-?%d+%.?%d*[eE]?[+-]?%d*', pos)\n local val = tonumber(num_str)\n if not val then error('Error parsing number at position ' .. pos .. '.') end\n return val, pos + #num_str\nend\n\n\n-- Public values and functions.\n\nfunction MyJson.stringify(obj, as_key)\n local s = {} -- We'll build the string as an array of strings to be concatenated.\n local kind = kind_of(obj) -- This is 'array' if it's an array or type(obj) otherwise.\n if kind == 'array' then\n if as_key then error('Can\\'t encode array as key.') end\n s[#s + 1] = '['\n for i, val in ipairs(obj) do\n if i > 1 then s[#s + 1] = ', ' end\n s[#s + 1] = MyJson.stringify(val)\n end\n s[#s + 1] = ']'\n elseif kind == 'table' then\n if as_key then error('Can\\'t encode table as key.') end\n s[#s + 1] = '{'\n for k, v in pairs(obj) do\n if #s > 1 then s[#s + 1] = ', ' end\n s[#s + 1] = MyJson.stringify(k, true)\n s[#s + 1] = ':'\n s[#s + 1] = MyJson.stringify(v)\n end\n s[#s + 1] = '}'\n elseif kind == 'string' then\n return '\"' .. escape_str(obj) .. '\"'\n elseif kind == 'number' then\n if as_key then return '\"' .. tostring(obj) .. '\"' end\n return tostring(obj)\n elseif kind == 'boolean' then\n return tostring(obj)\n elseif kind == 'nil' then\n return 'null'\n else\n error('Unjsonifiable type: ' .. kind .. '.')\n end\n return table.concat(s)\nend\n\nMyJson.null = {} -- This is a one-off table to represent the null value.\n\nfunction MyJson.parse(str, pos, end_delim)\n pos = pos or 1\n if pos > #str then error('Reached unexpected end of input.') end\n local pos = pos + #str:match('^%s*', pos) -- Skip whitespace.\n local first = str:sub(pos, pos)\n if first == '{' then -- Parse an object.\n local obj, key, delim_found = {}, true, true\n pos = pos + 1\n while true do\n key, pos = MyJson.parse(str, pos, '}')\n if key == nil then return obj, pos end\n if not delim_found then error('Comma missing between object items.') end\n pos = skip_delim(str, pos, ':', true) -- true -> error if missing.\n obj[key], pos = MyJson.parse(str, pos)\n pos, delim_found = skip_delim(str, pos, ',')\n end\n elseif first == '[' then -- Parse an array.\n local arr, val, delim_found = {}, true, true\n pos = pos + 1\n while true do\n val, pos = MyJson.parse(str, pos, ']')\n if val == nil then return arr, pos end\n if not delim_found then error('Comma missing between array items.') end\n arr[#arr + 1] = val\n pos, delim_found = skip_delim(str, pos, ',')\n end\n elseif first == '\"' then -- Parse a string.\n return parse_str_val(str, pos + 1)\n elseif first == '-' or first:match('%d') then -- Parse a number.\n return parse_num_val(str, pos)\n elseif first == end_delim then -- End of an object or array.\n return nil, pos + 1\n else -- Parse true, false, or null.\n local literals = {['true'] = true, ['false'] = false, ['null'] = MyJson.null}\n for lit_str, lit_val in pairs(literals) do\n local lit_end = pos + #lit_str - 1\n if str:sub(pos, lit_end) == lit_str then return lit_val, lit_end + 1 end\n end\n local pos_info_str = 'position ' .. pos .. ': ' .. str:sub(pos, pos + 10)\n error('Invalid json syntax starting at ' .. pos_info_str)\n end\nend", 373 - "filter": { 374 - "args": [], 375 - "signature": "start()", 376 - "slotKey": "-3" 377 - }, 378 - "key": "23" 343 + "key": "20" 379 344 }, 380 345 { 381 346 "code": "--[[\n\tAll Games Recipes in a table\n\tBased on the public script published by D.Mentia on Discord\n\tUpdated By Glorek and Jericho\n]]\n\n-- clean the name from specific char, etc.\nfunction cleanName(name)\n if name ~= nil and name:len() > 0 then\n name = string.gsub(name:lower(), \"-\", \"\")\n else\n name = \"unknown\"\n end\n return name:gsub(\"%s+\", \"\")\nend\n\n-- return an ingredient fron it's name\nfunction getIngredient(name)\n local cleanname = \"unknown\"\n if name ~= nil and name:len() > 0 then\n \tcleanname = cleanName(name)\n end\n local ingredient = Ingredients[cleanname]\n if not ingredient and cleanname:find('pure') then\n ingredient = Ingredients['pure' .. cleanname:gsub('pure', '')]\n end\n if not ingredient then\n for key,value in pairs(Ingredients) do\n if key:find(cleanname) then\n ingredient = value\n break\n end\n end\n end\n if not ingredient then\n --system.print('Error [Ingredient not found]: '..name)\n ingredient = Ingredients['unknown']\n end\n return ingredient\nend\n\nIngredients = {\n ['unknown'] = {['name'] = 'unknown', ['tier'] = 1, ['type'] = 'error', ['mass'] = 1, ['volume'] = 1},\n ['bauxite'] = {['name'] = 'Bauxite', ['tier'] = 1, ['type'] = 'Ore', ['mass'] = 1.28, ['volume'] = 1},\n ['coal'] = {['name'] = 'Coal', ['tier'] = 1, ['type'] = 'Ore', ['mass'] = 1.35, ['volume'] = 1},\n ['quartz'] = {['name'] = 'Quartz', ['tier'] = 1, ['type'] = 'Ore', ['mass'] = 2.65, ['volume'] = 1},\n ['hematite'] = {['name'] = 'Hematite', ['tier'] = 1, ['type'] = 'Ore', ['mass'] = 5.04, ['volume'] = 1},\n ['chromite'] = {['name'] = 'Chromite', ['tier'] = 2, ['type'] = 'Ore', ['mass'] = 4.54, ['volume'] = 1},\n ['malachite'] = {['name'] = 'Malachite', ['tier'] = 2, ['type'] = 'Ore', ['mass'] = 4, ['volume'] = 1},\n ['limestone'] = {['name'] = 'Limestone', ['tier'] = 2, ['type'] = 'Ore', ['mass'] = 2.71, ['volume'] = 1},\n ['natron'] = {['name'] = 'Natron', ['tier'] = 2, ['type'] = 'Ore', ['mass'] = 1.55, ['volume'] = 1},\n ['petalite'] = {['name'] = 'Petalite', ['tier'] = 3, ['type'] = 'Ore', ['mass'] = 2.41, ['volume'] = 1},\n ['garnierite'] = {['name'] = 'Garnierite', ['tier'] = 3, ['type'] = 'Ore', ['mass'] = 2.6, ['volume'] = 1},\n ['acanthite'] = {['name'] = 'Acanthite', ['tier'] = 3, ['type'] = 'Ore', ['mass'] = 7.2, ['volume'] = 1},\n ['pyrite'] = {['name'] = 'Pyrite', ['tier'] = 3, ['type'] = 'Ore', ['mass'] = 5.01, ['volume'] = 1},\n ['cobaltite'] = {['name'] = 'Cobaltite', ['tier'] = 4, ['type'] = 'Ore', ['mass'] = 6.33, ['volume'] = 1},\n ['cryolite'] = {['name'] = 'Cryolite', ['tier'] = 4, ['type'] = 'Ore', ['mass'] = 2.95, ['volume'] = 1},\n ['kolbeckite'] = {['name'] = 'Kolbeckite', ['tier'] = 4, ['type'] = 'Ore', ['mass'] = 2.37, ['volume'] = 1},\n ['goldnuggets'] = {['name'] = 'Gold Nuggets', ['tier'] = 4, ['type'] = 'Ore', ['mass'] = 19.3, ['volume'] = 1},\n ['rhodonite'] = {['name'] = 'Rhodonite', ['tier'] = 5, ['type'] = 'Ore', ['mass'] = 3.76, ['volume'] = 1},\n ['columbite'] = {['name'] = 'Columbite', ['tier'] = 5, ['type'] = 'Ore', ['mass'] = 5.38, ['volume'] = 1},\n ['illmenite'] = {['name'] = 'Illmenite', ['tier'] = 5, ['type'] = 'Ore', ['mass'] = 4.55, ['volume'] = 1},\n ['vanadinite'] = {['name'] = 'Vanadinite', ['tier'] = 5, ['type'] = 'Ore', ['mass'] = 6.95, ['volume'] = 1},\n ['pureoxygen'] = {['name'] = 'Pure Oxygen', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 1, ['volume'] = 1},\n ['purehydrogen'] = {['name'] = 'Pure Hydrogen', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 0.07, ['volume'] = 1},\n ['purealuminium'] = {['name'] = 'Pure Aluminium', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 2.7, ['volume'] = 1},\n ['purecarbon'] = {['name'] = 'Pure Carbon', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 2.27, ['volume'] = 1},\n ['puresilicon'] = {['name'] = 'Pure Silicon', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 2.33, ['volume'] = 1},\n ['pureiron'] = {['name'] = 'Pure Iron', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 7.85, ['volume'] = 1},\n ['purecalcium'] = {['name'] = 'Pure Calcium', ['tier'] = 2, ['type'] = 'Pure', ['mass'] = 1.55, ['volume'] = 1},\n ['purechromium'] = {['name'] = 'Pure Chromium', ['tier'] = 2, ['type'] = 'Pure', ['mass'] = 7.19, ['volume'] = 1},\n ['purecopper'] = {['name'] = 'Pure Copper', ['tier'] = 2, ['type'] = 'Pure', ['mass'] = 8.96, ['volume'] = 1},\n ['puresodium'] = {['name'] = 'Pure Sodium', ['tier'] = 2, ['type'] = 'Pure', ['mass'] = 0.97, ['volume'] = 1},\n ['purelithium'] = {['name'] = 'Pure Lithium', ['tier'] = 3, ['type'] = 'Pure', ['mass'] = 0.53, ['volume'] = 1},\n ['purenickel'] = {['name'] = 'Pure Nickel', ['tier'] = 3, ['type'] = 'Pure', ['mass'] = 8.91, ['volume'] = 1},\n ['puresilver'] = {['name'] = 'Pure Silver', ['tier'] = 3, ['type'] = 'Pure', ['mass'] = 10.49, ['volume'] = 1},\n ['puresulfur'] = {['name'] = 'Pure Sulfur', ['tier'] = 3, ['type'] = 'Pure', ['mass'] = 1.82, ['volume'] = 1},\n ['purecobalt'] = {['name'] = 'Pure Cobalt', ['tier'] = 4, ['type'] = 'Pure', ['mass'] = 8.9, ['volume'] = 1},\n ['purefluorine'] = {['name'] = 'Pure Fluorine', ['tier'] = 4, ['type'] = 'Pure', ['mass'] = 1.7, ['volume'] = 1},\n ['puregold'] = {['name'] = 'Pure Gold', ['tier'] = 4, ['type'] = 'Pure', ['mass'] = 19.3, ['volume'] = 1},\n ['purescandium'] = {['name'] = 'Pure Scandium', ['tier'] = 4, ['type'] = 'Pure', ['mass'] = 2.98, ['volume'] = 1},\n ['puremanganese'] = {['name'] = 'Pure Manganese', ['tier'] = 5, ['type'] = 'Pure', ['mass'] = 7.21, ['volume'] = 1},\n ['pureniobium'] = {['name'] = 'Pure Niobium', ['tier'] = 5, ['type'] = 'Pure', ['mass'] = 8.57, ['volume'] = 1},\n ['puretitanium'] = {['name'] = 'Pure Titanium', ['tier'] = 5, ['type'] = 'Pure', ['mass'] = 4.51, ['volume'] = 1},\n ['purevanadium'] = {['name'] = 'Pure Vanadium', ['tier'] = 5, ['type'] = 'Pure', ['mass'] = 6, ['volume'] = 1},\n ['catalyst3'] = {['name'] = 'Catalyst 3', ['tier'] = 3, ['type'] = 'Catalyst', ['mass'] = 649.39, ['volume'] = 1},\n ['catalyst4'] = {['name'] = 'Catalyst 4', ['tier'] = 4, ['type'] = 'Catalyst', ['mass'] = 606.65, ['volume'] = 1},\n ['catalyst5'] = {['name'] = 'Catalyst 5', ['tier'] = 5, ['type'] = 'Catalyst', ['mass'] = 657.68, ['volume'] = 1},\n ['nitronfuel'] = {['name'] = 'Nitron Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 4, ['volume'] = 1},\n ['kergonx1fuel'] = {['name'] = 'Kergon-X1 Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 6, ['volume'] = 1},\n ['kergonx2fuel'] = {['name'] = 'Kergon-X2 Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 6, ['volume'] = 1},\n ['kergonx3fuel'] = {['name'] = 'Kergon-X3 Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 6, ['volume'] = 1},\n ['kergonx4fuel'] = {['name'] = 'Kergon-X4 Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 6, ['volume'] = 1},\n ['xeronfuel'] = {['name'] = 'Xeron Fuel', ['tier'] = 2, ['type'] = 'Fuel', ['mass'] = 0.8, ['volume'] = 1},\n ['alfealloy'] = {['name'] = 'Al-Fe Alloy', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 7.5, ['volume'] = 1},\n ['allialloy'] = {['name'] = 'Al-Li Alloy', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 2.5, ['volume'] = 1},\n ['calciumreinforcedcopper'] = {['name'] = 'Calcium Reinforced Copper', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 8.1, ['volume'] = 1},\n ['cuagalloy'] = {['name'] = 'Cu-Ag Alloy', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 9.2, ['volume'] = 1},\n ['duralumin'] = {['name'] = 'Duralumin', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 2.8, ['volume'] = 1},\n ['grade5titaniumalloy'] = {['name'] = 'Grade 5 Titanium Alloy', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 4.43, ['volume'] = 1},\n ['inconel'] = {['name'] = 'Inconel', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 8.5, ['volume'] = 1},\n ['mangalloy'] = {['name'] = 'Mangalloy', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 7.83, ['volume'] = 1},\n ['maragingsteel'] = {['name'] = 'Maraging Steel', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 8.23, ['volume'] = 1},\n ['redgold'] = {['name'] = 'Red Gold', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 14.13, ['volume'] = 1},\n ['scalalloy'] = {['name'] = 'Sc-Al Alloy', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 2.85, ['volume'] = 1},\n ['stainlesssteel'] = {['name'] = 'Stainless Steel', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 7.75, ['volume'] = 1},\n ['tinbsupraconductor'] = {['name'] = 'Ti-Nb Supraconductor', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 10.1, ['volume'] = 1},\n ['biologicalmatter'] = {['name'] = 'Biological Matter', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 1, ['volume'] = 1},\n ['brick'] = {['name'] = 'Brick', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 1.92, ['volume'] = 1},\n ['marble'] = {['name'] = 'Marble', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 2.7, ['volume'] = 1},\n ['concrete'] = {['name'] = 'Concrete', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 2.41, ['volume'] = 1},\n ['carbonfiber'] = {['name'] = 'Carbon Fiber', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 1.5, ['volume'] = 1},\n ['glass'] = {['name'] = 'Glass', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 2.5, ['volume'] = 1},\n ['advancedglass'] = {['name'] = 'Advanced Glass', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 2.6, ['volume'] = 1},\n ['aglireinforcedglass'] = {['name'] = 'Ag-Li Reinforced Glass', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 2.8, ['volume'] = 1},\n ['goldcoatedglass'] = {['name'] = 'Gold Coated Glass', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 3, ['volume'] = 1},\n ['manganesereinforcedglass'] = {['name'] = 'Manganese Reinforced Glass', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 2.9, ['volume'] = 1},\n ['polycarbonateplastic'] = {['name'] = 'Polycarbonate Plastic', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 1.4, ['volume'] = 1},\n ['polycalciteplastic'] = {['name'] = 'Polycalcite Plastic', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 1.5, ['volume'] = 1},\n ['polysulfideplastic'] = {['name'] = 'Polysulfide Plastic', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 1.6, ['volume'] = 1},\n ['fluoropolymer'] = {['name'] = 'Fluoropolymer', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 1.65, ['volume'] = 1},\n ['vanamer'] = {['name'] = 'Vanamer', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 1.57, ['volume'] = 1},\n ['silumin'] = {['name'] = 'Silumin', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 3, ['volume'] = 1},\n ['steel'] = {['name'] = 'Steel', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 8.05, ['volume'] = 1},\n ['wood'] = {['name'] = 'Wood', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 0.6, ['volume'] = 1},\n ['basiccomponent'] = {['name'] = 'Basic Component', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 2.25, ['volume'] = 0.5},\n ['uncommoncomponent'] = {['name'] = 'Uncommon Component', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 2.34, ['volume'] = 0.8},\n ['advancedcomponent'] = {['name'] = 'Advanced Component', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 2.51, ['volume'] = 0.8},\n ['basicconnector'] = {['name'] = 'Basic Connector', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 3.75, ['volume'] = 0.8},\n ['uncommonconnector'] = {['name'] = 'Uncommon Connector', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 3.9, ['volume'] = 0.8},\n ['advancedconnector'] = {['name'] = 'Advanced Connector', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 4.18, ['volume'] = 0.8},\n ['basicfixation'] = {['name'] = 'Basic Fixation', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 1.12, ['volume'] = 1},\n ['uncommonfixation'] = {['name'] = 'Uncommon Fixation', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 1.16, ['volume'] = 1},\n ['advancedfixation'] = {['name'] = 'Advanced Fixation', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 1.21, ['volume'] = 1},\n ['basicled'] = {['name'] = 'Basic LED', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 1.25, ['volume'] = 1},\n ['uncommonled'] = {['name'] = 'Uncommon LED', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 1.27, ['volume'] = 1},\n ['advancedled'] = {['name'] = 'Advanced LED', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 1.32, ['volume'] = 1},\n ['basicpipe'] = {['name'] = 'Basic Pipe', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 2.4, ['volume'] = 1},\n ['uncommonpipe'] = {['name'] = 'Uncommon Pipe', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 2.32, ['volume'] = 1},\n ['advancedpipe'] = {['name'] = 'Advanced Pipe', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 2.19, ['volume'] = 1},\n ['basicscrew'] = {['name'] = 'Basic Screw', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 8.05, ['volume'] = 1},\n ['uncommonscrew'] = {['name'] = 'Uncommon Screw', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 7.9, ['volume'] = 1},\n ['advancedscrew'] = {['name'] = 'Advanced Screw', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 8.14, ['volume'] = 1},\n ['basicantimattercapsule'] = {['name'] = 'Basic Anti-Matter Capsule', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 24, ['volume'] = 4.6},\n ['uncommonantimattercapsule'] = {['name'] = 'Uncommon Anti-Matter Capsule', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 24.32, ['volume'] = 4.6},\n ['advancedantimattercapsule'] = {['name'] = 'Advanced Anti-Matter Capsule', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 24.88, ['volume'] = 4.6},\n ['rareantimattercapsule'] = {['name'] = 'Rare Anti-Matter Capsule', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 25.8, ['volume'] = 4.6},\n ['exoticantimattercapsule'] = {['name'] = 'Exotic Anti-Matter Capsule', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 26.73, ['volume'] = 4.6},\n ['basicburner'] = {['name'] = 'Basic Burner', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 50.2, ['volume'] = 10},\n ['uncommonburner'] = {['name'] = 'Uncommon Burner', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 49.4, ['volume'] = 10},\n ['advancedburner'] = {['name'] = 'Advanced Burner', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 48.5, ['volume'] = 10},\n ['basicelectronics'] = {['name'] = 'Basic Electronics', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 5.22, ['volume'] = 4},\n ['uncommonelectronics'] = {['name'] = 'Uncommon Electronics', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 5.34, ['volume'] = 4},\n ['advancedelectronics'] = {['name'] = 'Advanced Electronics', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 5.45, ['volume'] = 4},\n ['rareelectronics'] = {['name'] = 'Rare Electronics', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 5.63, ['volume'] = 4},\n ['exoticelectronics'] = {['name'] = 'Exotic Electronics', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 5.77, ['volume'] = 4},\n ['basicexplosivemodule'] = {['name'] = 'Basic Explosive Module', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 18.72, ['volume'] = 4.6},\n ['uncommonexplosivemodule'] = {['name'] = 'Uncommon Explosive Module', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 19.04, ['volume'] = 4.6},\n ['advancedexplosivemodule'] = {['name'] = 'Advanced Explosive Module', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 19.04, ['volume'] = 4.6},\n ['basichydraulics'] = {['name'] = 'Basic Hydraulics', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 28.95, ['volume'] = 10},\n ['uncommonhydraulics'] = {['name'] = 'Uncommon Hydraulics', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 28.35, ['volume'] = 10},\n ['advancedhydraulics'] = {['name'] = 'Advanced Hydraulics', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 29.02, ['volume'] = 10},\n ['basicinjector'] = {['name'] = 'Basic Injector', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 20.3, ['volume'] = 10},\n ['uncommoninjector'] = {['name'] = 'Uncommon Injector', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 20.5, ['volume'] = 10},\n ['advancedinjector'] = {['name'] = 'Advanced Injector', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 20.45, ['volume'] = 10},\n ['basicmagnet'] = {['name'] = 'Basic Magnet', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 63.3, ['volume'] = 7.36},\n ['uncommonmagnet'] = {['name'] = 'Uncommon Magnet', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 62.1, ['volume'] = 7.36},\n ['advancedmagnet'] = {['name'] = 'Advanced Magnet', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 63.89, ['volume'] = 7.36},\n ['raremagnet'] = {['name'] = 'Rare Magnet', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 64.4, ['volume'] = 7.36},\n ['exoticmagnet'] = {['name'] = 'Exotic Magnet', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 65.13, ['volume'] = 7.36},\n ['basicoptics'] = {['name'] = 'Basic Optics', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 9.74, ['volume'] = 10},\n ['uncommonoptics'] = {['name'] = 'Uncommon Optics', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 9.94, ['volume'] = 10},\n ['advancedoptics'] = {['name'] = 'Advanced Optics', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 10.18, ['volume'] = 10},\n ['rareoptics'] = {['name'] = 'Rare Optics', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 10.7, ['volume'] = 10},\n ['basicpowersystem'] = {['name'] = 'Basic Power System', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 60, ['volume'] = 9.2},\n ['uncommonpowersystem'] = {['name'] = 'Uncommon Power System', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 62.4, ['volume'] = 9.2},\n ['advancedpowersystem'] = {['name'] = 'Advanced Power System', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 64.9, ['volume'] = 9.2},\n ['rarepowersystem'] = {['name'] = 'Rare Power System', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 78.31, ['volume'] = 9.2},\n ['exoticpowersystem'] = {['name'] = 'Exotic Power System', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 82.87, ['volume'] = 9.2},\n ['basicprocessor'] = {['name'] = 'Basic Processor', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 14.84, ['volume'] = 5},\n ['uncommonprocessor'] = {['name'] = 'Uncommon Processor', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 15.56, ['volume'] = 5},\n ['advancedprocessor'] = {['name'] = 'Advanced Processor', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 15.56, ['volume'] = 5},\n ['exoticprocessor'] = {['name'] = 'Exotic Processor', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 21.47, ['volume'] = 5},\n ['basicquantumcoreunit'] = {['name'] = 'Basic Quantum Core Unit', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 10.72, ['volume'] = 5},\n ['uncommonquantumcoreunit'] = {['name'] = 'Uncommon Quantum Core', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 11.04, ['volume'] = 5},\n ['advancedquantumcoreunit'] = {['name'] = 'Advanced Quantum Core', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 11.24, ['volume'] = 5},\n ['rarequantumcore'] = {['name'] = 'Rare Quantum Core', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 11.66, ['volume'] = 5},\n ['exoticquantumcore'] = {['name'] = 'Exotic Quantum Core', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 11.66, ['volume'] = 5},\n ['basicsingularitycontainer'] = {['name'] = 'Basic Singularity Container', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 45.36, ['volume'] = 4},\n ['uncommonsingularitycontainer'] = {['name'] = 'Uncommon Singularity Container', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 44.88, ['volume'] = 4},\n ['advancedsingularitycontainer'] = {['name'] = 'Advanced Singularity Container', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 46.22, ['volume'] = 4},\n ['raresingularitycontainer'] = {['name'] = 'Rare Singularity Container', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 46.58, ['volume'] = 4},\n ['exoticsingularitycontainer'] = {['name'] = 'Exotic Singularity Container', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 46.98, ['volume'] = 4},\n ['uncommonsolidwarhead'] = {['name'] = 'Uncommon Solid Warhead', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 45.36, ['volume'] = 5},\n ['advancedsolidwarhead'] = {['name'] = 'Advanced Solid Warhead', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 46.43, ['volume'] = 5},\n ['advancedantigravitycore'] = {['name'] = 'Advanced Anti-Gravity Core', ['tier'] = 3, ['type'] = 'Exceptional Part', ['mass'] = 117.05, ['volume'] = 20},\n ['rareantigravitycore'] = {['name'] = 'Rare Anti-Gravity Core', ['tier'] = 4, ['type'] = 'Exceptional Part', ['mass'] = 123.22, ['volume'] = 22.5},\n ['exoticantigravitycore'] = {['name'] = 'Exotic Anti-Gravity Core', ['tier'] = 5, ['type'] = 'Exceptional Part', ['mass'] = 133.06, ['volume'] = 25},\n ['advancedquantumalignmentunit'] = {['name'] = 'Advanced Quantum Alignment Unit', ['tier'] = 3, ['type'] = 'Exceptional Part', ['mass'] = 35.78, ['volume'] = 25},\n ['exoticquantumalignmentunit'] = {['name'] = 'Exotic Quantum Alignment Unit', ['tier'] = 5, ['type'] = 'Exceptional Part', ['mass'] = 43.24, ['volume'] = 30},\n ['advancedquantumbarrier'] = {['name'] = 'Advanced Quantum Barrier', ['tier'] = 3, ['type'] = 'Exceptional Part', ['mass'] = 43.38, ['volume'] = 25},\n ['advancedantimattercoreunit'] = {['name'] = 'Advanced Anti-Matter Core Unit', ['tier'] = 3, ['type'] = 'Exceptional Part', ['mass'] = 107.08, ['volume'] = 21.5},\n ['exoticantimattercoreunit'] = {['name'] = 'Exotic Anti-Matter Core Unit', ['tier'] = 5, ['type'] = 'Exceptional Part', ['mass'] = 158.05, ['volume'] = 26.5},\n ['basicantennaxs'] = {['name'] = 'Basic Antenna XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 60.44, ['volume'] = 8.96},\n ['basicantennas'] = {['name'] = 'Basic Antenna S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 314.2, ['volume'] = 46.4},\n ['uncommonantennaxs'] = {['name'] = 'Uncommon Antenna XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 117.16, ['volume'] = 17.12},\n ['uncommonantennas'] = {['name'] = 'Uncommon Antenna S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 379.2, ['volume'] = 54.56},\n ['uncommonantennam'] = {['name'] = 'Uncommon Antenna M', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 1770, ['volume'] = 251.36},\n ['uncommonantennal'] = {['name'] = 'Uncommon Antenna L', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 9240, ['volume'] = 1302.56},\n ['advancedantennas'] = {['name'] = 'Advanced Antenna S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 389.74, ['volume'] = 54.56},\n ['exoticantennam'] = {['name'] = 'Exotic Antenna M', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 2140, ['volume'] = 250.56},\n ['exoticantennal'] = {['name'] = 'Exotic Antenna L', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 11250, ['volume'] = 1301.76},\n ['exoticantennaxl'] = {['name'] = 'Exotic Antenna XL', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 61580, ['volume'] = 7028.16},\n ['basicchemicalcontainerxs'] = {['name'] = 'Basic Chemical Container XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 8.13, ['volume'] = 4.8},\n ['basicchemicalcontainers'] = {['name'] = 'Basic Chemical Container S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 43.67, ['volume'] = 25.6},\n ['basicchemicalcontainerm'] = {['name'] = 'Basic Chemical Container M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 239.38, ['volume'] = 139.2},\n ['basicchemicalcontainerl'] = {['name'] = 'Basic Chemical Container L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1340, ['volume'] = 774.4},\n ['basicchemicalcontainerxl'] = {['name'] = 'Basic Chemical Container XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 7750, ['volume'] = 4420.8},\n ['advancedchemicalcontainers'] = {['name'] = 'Advanced Chemical Container S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 48.85, ['volume'] = 29.6},\n ['advancedchemicalcontainerm'] = {['name'] = 'Advanced Chemical Container M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 235.25, ['volume'] = 143.2},\n ['advancedchemicalcontainerl'] = {['name'] = 'Advanced Chemical Container L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1270, ['volume'] = 778.4},\n ['advancedchemicalcontainerxl'] = {['name'] = 'Advanced Chemical Container XL', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 7190, ['volume'] = 4424.8},\n ['basiccombustionchamberxs'] = {['name'] = 'Basic Combustion Chamber XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 60.65, ['volume'] = 9.6},\n ['basiccombustionchambers'] = {['name'] = 'Basic Combustion Chamber S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 319.35, ['volume'] = 49.6},\n ['basiccombustionchamberm'] = {['name'] = 'Basic Combustion Chamber M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1710, ['volume'] = 259.2},\n ['basiccombustionchamberl'] = {['name'] = 'Basic Combustion Chamber L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 9340, ['volume'] = 1374.4},\n ['uncommoncombustionchamberxs'] = {['name'] = 'Uncommon Combustion Chamber XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 112.07, ['volume'] = 18.4},\n ['uncommoncombustionchambers'] = {['name'] = 'Uncommon Combustion Chamber S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 366.33, ['volume'] = 58.4},\n ['uncommoncombustionchamberm'] = {['name'] = 'Uncommon Combustion Chamber M', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 1730, ['volume'] = 268},\n ['uncommoncombustionchamberl'] = {['name'] = 'Uncommon Combustion Chamber L', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 9210, ['volume'] = 1383.2},\n ['advancedcombustionchamberxs'] = {['name'] = 'Advanced Combustion Chamber XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 163.51, ['volume'] = 27.2},\n ['advancedcombustionchambers'] = {['name'] = 'Advanced Combustion Chamber S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 369.5, ['volume'] = 58.4},\n ['advancedcombustionchamberm'] = {['name'] = 'Advanced Combustion Chamber M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1760, ['volume'] = 268},\n ['basiccontrolsystemxs'] = {['name'] = 'Basic Control System XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 9.25, ['volume'] = 5.2},\n ['basiccontrolsystems'] = {['name'] = 'Basic Control System S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 47.63, ['volume'] = 27.6},\n ['basiccontrolsystemm'] = {['name'] = 'Basic Control System M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 247.97, ['volume'] = 149.2},\n ['advancedcontrolsystems'] = {['name'] = 'Advanced Control System S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 59.35, ['volume'] = 32},\n ['advancedcontrolsystemm'] = {['name'] = 'Advanced Control System M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 272.97, ['volume'] = 153.6},\n ['advancedcontrolsysteml'] = {['name'] = 'Advanced Control System L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1410, ['volume'] = 828.8},\n ['basiccoreunitsystemxs'] = {['name'] = 'Basic Core System XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 4.43, ['volume'] = 4.4},\n ['basiccoreunitsystems'] = {['name'] = 'Basic Core System S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 23.57, ['volume'] = 23.6},\n ['uncommoncoresystems'] = {['name'] = 'Uncommon Core System S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 28.08, ['volume'] = 27.2},\n ['uncommoncoresystemm'] = {['name'] = 'Uncommon Core System M', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 28.08, ['volume'] = 135.75},\n ['uncommoncoresysteml'] = {['name'] = 'Uncommon Core System L', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 737.1, ['volume'] = 728},\n ['advancedcoresystemm'] = {['name'] = 'Advanced Core System M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 139.61, ['volume'] = 132.8},\n ['rarecoresysteml'] = {['name'] = 'Rare Core System L', ['tier'] = 4, ['type'] = 'Functional Part', ['mass'] = 783.65, ['volume'] = 728},\n ['exoticcoresystems'] = {['name'] = 'Exotic Core System S', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 28.62, ['volume'] = 26.8},\n ['basicelectricengines'] = {['name'] = 'Basic Electric Engine S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 377.75, ['volume'] = 39.04},\n ['basicelectricenginem'] = {['name'] = 'Basic Electric Engine M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1930, ['volume'] = 206.4},\n ['uncommonelectricenginexl'] = {['name'] = 'Uncommon Electric Engine XL', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 50800, ['volume'] = 6107.49},\n ['basicfiringsystemxs'] = {['name'] = 'Basic Firing System XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 60.65, ['volume'] = 9.6},\n ['advancedfiringsystemxs'] = {['name'] = 'Advanced Firing System XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 163.51, ['volume'] = 27.2},\n ['advancedfiringsystems'] = {['name'] = 'Advanced Firing System S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 369.5, ['volume'] = 58.4},\n ['advancedfiringsystemm'] = {['name'] = 'Advanced Firing System M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1760, ['volume'] = 268},\n ['advancedfiringsysteml'] = {['name'] = 'Advanced Firing System L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 9410, ['volume'] = 1383.2},\n ['basicgazcylinderxs'] = {['name'] = 'Basic Gaz Cylinder XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 15.68, ['volume'] = 9.6},\n ['basicgazcylinders'] = {['name'] = 'Basic Gaz Cylinder S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 81.38, ['volume'] = 49.6},\n ['basicgazcylinderm'] = {['name'] = 'Basic Gaz Cylinder M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 427.88, ['volume'] = 259.2},\n ['basicionicchamberxs'] = {['name'] = 'Basic Ionic Chamber XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 75.1, ['volume'] = 7.33},\n ['basicionicchambers'] = {['name'] = 'Basic Ionic Chamber S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 391.6, ['volume'] = 38.24},\n ['basicionicchamberm'] = {['name'] = 'Basic Ionic Chamber M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 2070, ['volume'] = 202.4},\n ['basicionicchamberl'] = {['name'] = 'Basic Ionic Chamber L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1620, ['volume'] = 1090.4},\n ['basicionicchamberxl'] = {['name'] = 'Basic Ionic Chamber XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 61230, ['volume'] = 6000.8},\n ['uncommonionicchamberxs'] = {['name'] = 'Uncommon Ionic Chamber XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 140.8, ['volume'] = 13.86},\n ['uncommonionicchambers'] = {['name'] = 'Uncommon Ionic Chamber S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 452.35, ['volume'] = 44.77},\n ['uncommonionicchamberm'] = {['name'] = 'Uncommon Ionic Chamber M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 2100, ['volume'] = 208.93},\n ['uncommonionicchamberl'] = {['name'] = 'Uncommon Ionic Chamber L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 11010, ['volume'] = 1096.93},\n ['uncommonionicchamberxl'] = {['name'] = 'Uncommon Ionic Chamber XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 60120, ['volume'] = 6007.33},\n ['advancedionicchamberm'] = {['name'] = 'Advanced Ionic Chamber M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 8640, ['volume'] = 208.93},\n ['advancedionicchamberl'] = {['name'] = 'Advanced Ionic Chamber L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 11370, ['volume'] = 1096.93},\n ['uncommonlaserchamberxs'] = {['name'] = 'Uncommon Laser Chamber XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 24.8, ['volume'] = 18.4},\n ['advancedlaserchamberxs'] = {['name'] = 'Advanced Laser Chamber XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 36.51, ['volume'] = 27.2},\n ['advancedlaserchambers'] = {['name'] = 'Advanced Laser Chamber S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 87.02, ['volume'] = 58.4},\n ['advancedlaserchamberm'] = {['name'] = 'Advanced Laser Chamber M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 429.89, ['volume'] = 268},\n ['advancedlaserchamberl'] = {['name'] = 'Advanced Laser Chamber L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 2380, ['volume'] = 1383.2},\n ['rarelaserchambers'] = {['name'] = 'Rare Laser Chamber S', ['tier'] = 4, ['type'] = 'Functional Part', ['mass'] = 90.49, ['volume'] = 58.4},\n ['uncommonlightxs'] = {['name'] = 'Uncommon Light XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 7.84, ['volume'] = 8.8},\n ['uncommonlights'] = {['name'] = 'Uncommon Light S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 28.8, ['volume'] = 29.6},\n ['advancedmagneticrailxs'] = {['name'] = 'Advanced Magnetic Rail XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 204.7, ['volume'] = 20.86},\n ['advancedmagneticrails'] = {['name'] = 'Advanced Magnetic Rail S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 451.89, ['volume'] = 45.73},\n ['advancedmagneticrailm'] = {['name'] = 'Advanced Magnetic Rail M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 2120, ['volume'] = 213.09},\n ['advancedmagneticraill'] = {['name'] = 'Advanced Magnetic Rail L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 11160, ['volume'] = 1117.09},\n ['basicmechanicalsensorxs'] = {['name'] = 'Basic Mechanical Sensor XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 35.96, ['volume'] = 7.49},\n ['advancedmechanicalsensorxs'] = {['name'] = 'Advanced Mechanical Sensor XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 100.99, ['volume'] = 20.86},\n ['exoticmechanicalsensorxs'] = {['name'] = 'Exotic Mechanical Sensor XS', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 102.37, ['volume'] = 19.26},\n ['advancedmissilesiloxs'] = {['name'] = 'Advanced Missile Silo XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 157.51, ['volume'] = 27.2},\n ['advancedmissilesilos'] = {['name'] = 'Advanced Missile Silo S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 327.52, ['volume'] = 58.4},\n ['advancedmissilesilom'] = {['name'] = 'Advanced Missile Silo M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1460, ['volume'] = 268},\n ['advancedmissilesilol'] = {['name'] = 'Advanced Missile Silo L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 7360, ['volume'] = 1383.2},\n ['basicmobilepanelxs'] = {['name'] = 'Basic Mobile Panel XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 20, ['volume'] = 9.6},\n ['basicmobilepanels'] = {['name'] = 'Basic Mobile Panel S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 103, ['volume'] = 49.6},\n ['basicmobilepanelm'] = {['name'] = 'Basic Mobile Panel M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 536, ['volume'] = 259.2},\n ['basicmobilepanell'] = {['name'] = 'Basic Mobile Panel L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 2830, ['volume'] = 1374.4},\n ['basicmobilepanelxl'] = {['name'] = 'Basic Mobile Panel XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 15160, ['volume'] = 7420.8},\n ['advancedmotherboardm'] = {['name'] = 'Advanced Motherboard M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 109.19, ['volume'] = 96},\n ['uncommonorescannerxl'] = {['name'] = 'Uncommon Ore Scanner XL', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 1870, ['volume'] = 2702.9},\n ['basicpowertransformerm'] = {['name'] = 'Basic Power Transformer M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1020, ['volume'] = 196.4},\n ['uncommonpowertransformers'] = {['name'] = 'Uncommon Power Transformer S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 221.56, ['volume'] = 43.33},\n ['uncommonpowertransformerm'] = {['name'] = 'Uncommon Power Transformer M', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 1030, ['volume'] = 202.69},\n ['rarepowertransformerl'] = {['name'] = 'Rare Power Transformer L', ['tier'] = 4, ['type'] = 'Functional Part', ['mass'] = 5570, ['volume'] = 1066.69},\n ['rarepowertransformerxl'] = {['name'] = 'Rare Power Transformer XL', ['tier'] = 4, ['type'] = 'Functional Part', ['mass'] = 30540, ['volume'] = 5857.09},\n ['exoticpowertransformerl'] = {['name'] = 'Exotic Power Transformer L', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 5570, ['volume'] = 1066.29},\n ['basicroboticarmm'] = {['name'] = 'Basic Robotic Arm M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 927, ['volume'] = 249.2},\n ['basicroboticarml'] = {['name'] = 'Basic Robotic Arm L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 4930, ['volume'] = 1324.4},\n ['basicroboticarmxl'] = {['name'] = 'Basic Robotic Arm XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 26700, ['volume'] = 7170.8},\n ['basicscreens'] = {['name'] = 'Basic Screen S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 21.07, ['volume'] = 25.6},\n ['basicscreenm'] = {['name'] = 'Basic Screen M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 115.17, ['volume'] = 139.2},\n ['uncommonscreenxs'] = {['name'] = 'Uncommon Screen XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 7.29, ['volume'] = 8.8},\n ['uncommonscreenl'] = {['name'] = 'Uncommon Screen L', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 671.24, ['volume'] = 778.4},\n ['uncommonscreenxl'] = {['name'] = 'Uncommon Screen XL', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 3860, ['volume'] = 4424.8},\n ['advancedscreenxs'] = {['name'] = 'Advanced Screen XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 10.73, ['volume'] = 12.8},\n ['basiccasingxs'] = {['name'] = 'Basic Casing XS', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 1.4, ['volume'] = 2},\n ['basiccasings'] = {['name'] = 'Basic Casing S', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 7.7, ['volume'] = 11},\n ['basiccasingm'] = {['name'] = 'Basic Casing M', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 51.8, ['volume'] = 74},\n ['basiccasingl'] = {['name'] = 'Basic Casing L', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 360.5, ['volume'] = 515},\n ['uncommoncasingxs'] = {['name'] = 'Uncommon Casing XS', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 1.45, ['volume'] = 2},\n ['uncommoncasings'] = {['name'] = 'Uncommon Casing S', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 8.05, ['volume'] = 1},\n ['uncommoncasingm'] = {['name'] = 'Uncommon Casing M', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 54.25, ['volume'] = 74},\n ['uncommoncasingl'] = {['name'] = 'Uncommon Casing L', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 377.65, ['volume'] = 515},\n ['uncommoncasingxl'] = {['name'] = 'Uncommon Casing XL', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 2640, ['volume'] = 3602},\n ['advancedcasingxs'] = {['name'] = 'Advanced Casing XS', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 1.5, ['volume'] = 2},\n ['advancedcasings'] = {['name'] = 'Advanced Casing S', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 8.4, ['volume'] = 1},\n ['advancedcasingm'] = {['name'] = 'Advanced Casing M', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 56.7, ['volume'] = 74},\n ['advancedcasingl'] = {['name'] = 'Advanced Casing L', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 394.8, ['volume'] = 515},\n ['advancedcasingxl'] = {['name'] = 'Advanced Casing XL', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 2760, ['volume'] = 3602},\n ['rarecasingxs'] = {['name'] = 'Rare Casing XS', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 1.52, ['volume'] = 2},\n ['rarecasings'] = {['name'] = 'Rare Casing S', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 8.57, ['volume'] = 11},\n ['exoticcasings'] = {['name'] = 'Exotic Casing S', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 8.29, ['volume'] = 11},\n ['basicreinforcedframexs'] = {['name'] = 'Basic Reinforced Frame XS', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 12.88, ['volume'] = 2},\n ['basicreinforcedframes'] = {['name'] = 'Basic Reinforced Frame S', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 70.84, ['volume'] = 11},\n ['basicreinforcedframem'] = {['name'] = 'Basic Reinforced Frame M', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 476, ['volume'] = 74},\n ['basicreinforcedframel'] = {['name'] = 'Basic Reinforced Frame L', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 3320, ['volume'] = 515},\n ['basicreinforcedframexl'] = {['name'] = 'Basic Reinforced Frame XL', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 23200, ['volume'] = 3602},\n ['uncommonreinforcedframexs'] = {['name'] = 'Uncommon Reinforced Frame XS', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 12.64, ['volume'] = 2},\n ['uncommonreinforcedframes'] = {['name'] = 'Uncommon Reinforced Frame S', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 69.16, ['volume'] = 11},\n ['uncommonreinforcedframem'] = {['name'] = 'Uncommon Reinforced Frame M', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 464.8, ['volume'] = 74},\n ['uncommonreinforcedframel'] = {['name'] = 'Uncommon Reinforced Frame L', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 3230, ['volume'] = 515},\n ['uncommonreinforcedframexl'] = {['name'] = 'Uncommon Reinforced Frame XL', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 22620, ['volume'] = 3602},\n ['advancedreinforcedframexs'] = {['name'] = 'Advanced Reinforced Frame XS', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 13.24, ['volume'] = 2},\n ['advancedreinforcedframes'] = {['name'] = 'Advanced Reinforced Frame S', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 73.34, ['volume'] = 11},\n ['advancedreinforcedframem'] = {['name'] = 'Advanced Reinforced Frame M', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 494.08, ['volume'] = 74},\n ['advancedreinforcedframel'] = {['name'] = 'Advanced Reinforced Frame L', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 3440, ['volume'] = 515},\n ['rarereinforcedframel'] = {['name'] = 'Rare Reinforced Frame L', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 3370, ['volume'] = 515},\n ['rarereinforcedframexl'] = {['name'] = 'Rare Reinforced Frame XL', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 23540, ['volume'] = 3602},\n ['exoticreinforcedframem'] = {['name'] = 'Exotic Reinforced Frame M', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 468.05, ['volume'] = 74},\n ['exoticreinforcedframel'] = {['name'] = 'Exotic Reinforced Frame L', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 3260, ['volume'] = 515},\n ['exoticreinforcedframexl'] = {['name'] = 'Exotic Reinforced Frame XL', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 22780, ['volume'] = 3602},\n ['basicstandardframexs'] = {['name'] = 'Basic Standard Frame XS', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 4.2, ['volume'] = 2},\n ['basicstandardframes'] = {['name'] = 'Basic Standard Frame S', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 23.1, ['volume'] = 11},\n ['basicstandardframem'] = {['name'] = 'Basic Standard Frame M', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 155.4, ['volume'] = 74},\n ['basicstandardframel'] = {['name'] = 'Basic Standard Frame L', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 1080, ['volume'] = 515},\n ['uncommonstandardframexs'] = {['name'] = 'Uncommon Standard Frame XS', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 4.06, ['volume'] = 2},\n ['uncommonstandardframes'] = {['name'] = 'Uncommon Standard Frame S', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 22.12, ['volume'] = 11},\n ['uncommonstandardframem'] = {['name'] = 'Uncommon Standard Frame M', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 148.54, ['volume'] = 74},\n ['uncommonstandardframel'] = {['name'] = 'Uncommon Standard Frame L', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 1030, ['volume'] = 515},\n ['advancedstandardframexs'] = {['name'] = 'Advanced Standard Frame XS', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 3.85, ['volume'] = 2},\n ['advancedstandardframes'] = {['name'] = 'Advanced Standard Frame S', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 20.65, ['volume'] = 11},\n ['advancedstandardframem'] = {['name'] = 'Advanced Standard Frame M', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 138.25, ['volume'] = 74},\n ['advancedstandardframel'] = {['name'] = 'Advanced Standard Frame L', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 961.45, ['volume'] = 515},\n ['rarestandardframel'] = {['name'] = 'Rare Standard Frame L', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 1050, ['volume'] = 515},\n ['exoticstandardframexs'] = {['name'] = 'Exotic Standard Frame XS', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 5.2, ['volume'] = 2},\n ['exoticstandardframel'] = {['name'] = 'Exotic Standard Frame L', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 1420, ['volume'] = 515},\n ['dynamiccoreunitxs'] = {['name'] = 'Dynamic Core XS', ['tier'] = 1, ['type'] = 'Core Unit', ['mass'] = 70.89, ['volume'] = 16.1},\n ['dynamiccoreunits'] = {['name'] = 'Dynamic Core S', ['tier'] = 2, ['type'] = 'Core Unit', ['mass'] = 375.97, ['volume'] = 87.2},\n ['dynamiccoreunitm'] = {['name'] = 'Dynamic Core M', ['tier'] = 3, ['type'] = 'Core Unit', ['mass'] = 1980, ['volume'] = 454.8},\n ['dynamiccoreunitl'] = {['name'] = 'Dynamic Core L', ['tier'] = 4, ['type'] = 'Core Unit', ['mass'] = 12140, ['volume'] = 2501},\n ['staticcoreunitxs'] = {['name'] = 'Static Core XS', ['tier'] = 1, ['type'] = 'Core Unit', ['mass'] = 70.89, ['volume'] = 16.1},\n ['staticcoreunits'] = {['name'] = 'Static Core S', ['tier'] = 1, ['type'] = 'Core Unit', ['mass'] = 360.18, ['volume'] = 83.6},\n ['staticcoreunitm'] = {['name'] = 'Static Core M', ['tier'] = 2, ['type'] = 'Core Unit', ['mass'] = 1930, ['volume'] = 454.8},\n ['staticcoreunitl'] = {['name'] = 'Static Core L', ['tier'] = 2, ['type'] = 'Core Unit', ['mass'] = 10700, ['volume'] = 2501},\n ['spacecoreunitxs'] = {['name'] = 'Space Core XS', ['tier'] = 1, ['type'] = 'Core Unit', ['mass'] = 38.99, ['volume'] = 14},\n ['spacecoreunits'] = {['name'] = 'Space Core S', ['tier'] = 2, ['type'] = 'Core Unit', ['mass'] = 459.57, ['volume'] = 120},\n ['spacecoreunitm'] = {['name'] = 'Space Core M', ['tier'] = 3, ['type'] = 'Core Unit', ['mass'] = 3040, ['volume'] = 420},\n ['spacecoreunitl'] = {['name'] = 'Space Core L', ['tier'] = 4, ['type'] = 'Core Unit', ['mass'] = 7680, ['volume'] = 1383},\n ['territoryunit'] = {['name'] = 'Territory Unit', ['tier'] = 5, ['type'] = 'Core Unit', ['mass'] = 20050, ['volume'] = 4118.29},\n ['containerhub'] = {['name'] = 'Container Hub', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 55.8, ['volume'] = 44.3},\n ['containerxs'] = {['name'] = 'Container XS', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 229.09, ['volume'] = 64},\n ['containers'] = {['name'] = 'Container S', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 1281.31, ['volume'] = 342},\n ['containerm'] = {['name'] = 'Container M', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 7421.35, ['volume'] = 1873},\n ['containerl'] = {['name'] = 'Container L', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 14842.7, ['volume'] = 3746},\n ['dispenser'] = {['name'] = 'Dispenser', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 2060, ['volume'] = 479.2},\n ['atmosphericfueltankxs'] = {['name'] = 'Atmospheric Fuel-Tank XS', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 35.03, ['volume'] = 17.8},\n ['atmosphericfueltanks'] = {['name'] = 'Atmospheric Fuel-Tank S', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 182.67, ['volume'] = 92.6},\n ['atmosphericfueltankm'] = {['name'] = 'Atmospheric Fuel-Tank M', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 988.67, ['volume'] = 499.2},\n ['atmosphericfueltankl'] = {['name'] = 'Atmospheric Fuel-Tank L', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 5480, ['volume'] = 2755.4},\n ['spacefueltanks'] = {['name'] = 'Space Fuel-Tank S', ['tier'] = 2, ['type'] = 'Container', ['mass'] = 182.67, ['volume'] = 92.6},\n ['spacefueltankm'] = {['name'] = 'Space Fuel-Tank M', ['tier'] = 2, ['type'] = 'Container', ['mass'] = 988.67, ['volume'] = 499.2},\n ['spacefueltankl'] = {['name'] = 'Space Fuel-Tank L', ['tier'] = 2, ['type'] = 'Container', ['mass'] = 5480, ['volume'] = 2755.4},\n ['rocketfueltankxs'] = {['name'] = 'Rocket Fuel-Tank XS', ['tier'] = 3, ['type'] = 'Container', ['mass'] = 173.42, ['volume'] = 96.6},\n ['rocketfueltanks'] = {['name'] = 'Rocket Fuel-Tank S', ['tier'] = 3, ['type'] = 'Container', ['mass'] = 886.72, ['volume'] = 503.2},\n ['rocketfueltankm'] = {['name'] = 'Rocket Fuel-Tank M', ['tier'] = 3, ['type'] = 'Container', ['mass'] = 6231, ['volume'] = 6400},\n ['rocketfueltankl'] = {['name'] = 'Rocket Fuel-Tank L', ['tier'] = 3, ['type'] = 'Container', ['mass'] = 25740, ['volume'] = 15570},\n ['ammocontainerxs'] = {['name'] = 'Ammo Container XS', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 216.15, ['volume'] = 67},\n ['ammocontainers'] = {['name'] = 'Ammo Container S', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 1170, ['volume'] = 360},\n ['ammocontainerm'] = {['name'] = 'Ammo Container M', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 6440, ['volume'] = 1981},\n ['ammocontainerl'] = {['name'] = 'Ammo Container L', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 12880, ['volume'] = 3962},\n ['assemblylinexs'] = {['name'] = 'Assembly Line XS', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 100.93, ['volume'] = 21.8},\n ['assemblylines'] = {['name'] = 'Assembly Line S', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 522.14, ['volume'] = 112.6},\n ['assemblylinem'] = {['name'] = 'Assembly Line M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2800, ['volume'] = 599.2},\n ['assemblylinel'] = {['name'] = 'Assembly Line L', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 15380, ['volume'] = 3255.4},\n ['assemblylinexl'] = {['name'] = 'Assembly Line XL', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 86290, ['volume'] = 18070},\n ['3dprinterm'] = {['name'] = '3D Printer M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2000, ['volume'] = 609.2},\n ['chemicalindustrym'] = {['name'] = 'Chemical Industry M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2300, ['volume'] = 479.2},\n ['electronicsindustrym'] = {['name'] = 'Electronics Industry M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 1620, ['volume'] = 459.2},\n ['glassfurnacem'] = {['name'] = 'Glass Furnace M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2830, ['volume'] = 556.4},\n ['honeycombrefinerym'] = {['name'] = 'Honeycomb Refinery M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2990, ['volume'] = 589.2},\n ['metalworkindustrym'] = {['name'] = 'Metalwork Industry M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2600, ['volume'] = 599.2},\n ['recyclerm'] = {['name'] = 'Recycler M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2350, ['volume'] = 619.2},\n ['refinerm'] = {['name'] = 'Refiner M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2300, ['volume'] = 479.2},\n ['smelterm'] = {['name'] = 'Smelter M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2060, ['volume'] = 499.2},\n ['transferunit'] = {['name'] = 'Transfer Unit', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 10150, ['volume'] = 3305.4},\n ['retrorocketbrakes'] = {['name'] = 'Retro-Rocket Brake S', ['tier'] = 1, ['type'] = 'Space Brake', ['mass'] = 137.55, ['volume'] = 20.33},\n ['retrorocketbrakem'] = {['name'] = 'Retro-Rocket Brake M', ['tier'] = 1, ['type'] = 'Space Brake', ['mass'] = 714, ['volume'] = 105.24},\n ['retrorocketbrakel'] = {['name'] = 'Retro-Rocket Brake L', ['tier'] = 1, ['type'] = 'Space Brake', ['mass'] = 3770, ['volume'] = 562.4},\n ['atmosphericairbrakes'] = {['name'] = 'Atmospheric Airbrake S', ['tier'] = 1, ['type'] = 'Airbrake', ['mass'] = 55.55, ['volume'] = 22.6},\n ['atmosphericairbrakem'] = {['name'] = 'Atmospheric Airbrake M', ['tier'] = 1, ['type'] = 'Airbrake', ['mass'] = 285.25, ['volume'] = 116.6},\n ['atmosphericairbrakel'] = {['name'] = 'Atmospheric Airbrake L', ['tier'] = 1, ['type'] = 'Airbrake', ['mass'] = 1500, ['volume'] = 619.2},\n ['compactaileronxs'] = {['name'] = 'Compact Aileron XS', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 61.2, ['volume'] = 22.6},\n ['compactailerons'] = {['name'] = 'Compact Aileron S', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 319.15, ['volume'] = 116.6},\n ['compactaileronm'] = {['name'] = 'Compact Aileron M', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 1705, ['volume'] = 619.2},\n ['aileronxs'] = {['name'] = 'Aileron XS', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 122.4, ['volume'] = 45.2},\n ['ailerons'] = {['name'] = 'Aileron S', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 638.3, ['volume'] = 233.2},\n ['aileronm'] = {['name'] = 'Aileron M', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 3410, ['volume'] = 1238.4},\n ['stabilizerxs'] = {['name'] = 'Stabilizer XS', ['tier'] = 1, ['type'] = 'Stabilizer', ['mass'] = 69.88, ['volume'] = 22.6},\n ['stabilizers'] = {['name'] = 'Stabilizer S', ['tier'] = 1, ['type'] = 'Stabilizer', ['mass'] = 366.89, ['volume'] = 116.6},\n ['stabilizerm'] = {['name'] = 'Stabilizer M', ['tier'] = 1, ['type'] = 'Stabilizer', ['mass'] = 2030, ['volume'] = 619.2},\n ['stabilizerl'] = {['name'] = 'Stabilizer L', ['tier'] = 1, ['type'] = 'Stabilizer', ['mass'] = 11500, ['volume'] = 3355.4},\n ['wingxs'] = {['name'] = 'Wing XS', ['tier'] = 1, ['type'] = 'Wing', ['mass'] = 61.2, ['volume'] = 22.6},\n ['wings'] = {['name'] = 'Wing S', ['tier'] = 1, ['type'] = 'Wing', ['mass'] = 319.15, ['volume'] = 116.6},\n ['wingm'] = {['name'] = 'Wing M', ['tier'] = 1, ['type'] = 'Wing', ['mass'] = 1700, ['volume'] = 619.2},\n ['wingvariantm'] = {['name'] = 'Wing Variant M', ['tier'] = 1, ['type'] = 'Wing', ['mass'] = 1700, ['volume'] = 619.2},\n ['atmosphericenginexs'] = {['name'] = 'Atmospheric Engine XS', ['tier'] = 1, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6},\n ['atmosphericengines'] = {['name'] = 'Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6},\n ['atmosphericenginem'] = {['name'] = 'Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2},\n ['atmosphericenginel'] = {['name'] = 'Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4},\n ['spaceenginexs'] = {['name'] = 'Space Engine XS', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33},\n ['spaceengines'] = {['name'] = 'Space Engine S', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24},\n ['spaceenginem'] = {['name'] = 'Space Engine M', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4},\n ['spaceenginel'] = {['name'] = 'Space Engine L', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4},\n ['spaceenginexl'] = {['name'] = 'Space Engine XL', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150},\n ['hoverengines'] = {['name'] = 'Hover Engine S', ['tier'] = 1, ['type'] = 'Hover Engine', ['mass'] = 56.91, ['volume'] = 22.6},\n ['hoverenginem'] = {['name'] = 'Hover Engine M', ['tier'] = 2, ['type'] = 'Hover Engine', ['mass'] = 302.02, ['volume'] = 116.6},\n ['hoverenginel'] = {['name'] = 'Hover Engine L', ['tier'] = 2, ['type'] = 'Hover Engine', ['mass'] = 1700, ['volume'] = 619.2},\n ['flathoverenginel'] = {['name'] = 'Flat Hover Engine L', ['tier'] = 2, ['type'] = 'Hover Engine', ['mass'] = 1700, ['volume'] = 619.2},\n ['adjustorxs'] = {['name'] = 'Adjustor XS', ['tier'] = 1, ['type'] = 'Adjustor', ['mass'] = 22.7, ['volume'] = 11},\n ['adjustors'] = {['name'] = 'Adjustor S', ['tier'] = 1, ['type'] = 'Adjustor', ['mass'] = 42.58, ['volume'] = 22.6},\n ['adjustorm'] = {['name'] = 'Adjustor M', ['tier'] = 1, ['type'] = 'Adjustor', ['mass'] = 220.38, ['volume'] = 116.6},\n ['adjustorl'] = {['name'] = 'Adjustor L', ['tier'] = 1, ['type'] = 'Adjustor', ['mass'] = 1180, ['volume'] = 619.2},\n ['rocketengines'] = {['name'] = 'Rocket Engine S', ['tier'] = 3, ['type'] = 'Rocket Engine', ['mass'] = 2223.76, ['volume'] = 40.2},\n ['rocketenginem'] = {['name'] = 'Rocket Engine M', ['tier'] = 3, ['type'] = 'Rocket Engine', ['mass'] = 680.05, ['volume'] = 125.4},\n ['rocketenginel'] = {['name'] = 'Rocket Engine L', ['tier'] = 4, ['type'] = 'Rocket Engine', ['mass'] = 3390, ['volume'] = 628},\n ['verticalboosterxs'] = {['name'] = 'Vertical Booster XS', ['tier'] = 1, ['type'] = 'Vertical Booster', ['mass'] = 22.7, ['volume'] = 11},\n ['verticalboosters'] = {['name'] = 'Vertical Booster S', ['tier'] = 1, ['type'] = 'Vertical Booster', ['mass'] = 102, ['volume'] = 20.33},\n ['verticalboosterm'] = {['name'] = 'Vertical Booster M', ['tier'] = 1, ['type'] = 'Vertical Booster', ['mass'] = 530.6, ['volume'] = 105.24},\n ['verticalboosterl'] = {['name'] = 'Vertical Booster L', ['tier'] = 1, ['type'] = 'Vertical Booster', ['mass'] = 2820, ['volume'] = 562.4},\n ['elevatorxs'] = {['name'] = 'Elevator XS', ['tier'] = 1, ['type'] = 'Interactive Element', ['mass'] = 207.86, ['volume'] = 57.56},\n ['landinggearxs'] = {['name'] = 'Landing Gear XS', ['tier'] = 1, ['type'] = 'Landing Gear', ['mass'] = 49.88, ['volume'] = 13},\n ['landinggears'] = {['name'] = 'Landing Gear S', ['tier'] = 2, ['type'] = 'Landing Gear', ['mass'] = 258.76, ['volume'] = 67},\n ['landinggearm'] = {['name'] = 'Landing Gear M', ['tier'] = 2, ['type'] = 'Landing Gear', ['mass'] = 1460, ['volume'] = 360},\n ['landinggearl'] = {['name'] = 'Landing Gear L', ['tier'] = 2, ['type'] = 'Landing Gear', ['mass'] = 8500, ['volume'] = 1981},\n ['forcefieldxs'] = {['name'] = 'Force Field XS', ['tier'] = 1, ['type'] = 'Force Field', ['mass'] = 207.86, ['volume'] = 57.56},\n ['forcefields'] = {['name'] = 'Force Field S', ['tier'] = 3, ['type'] = 'Force Field', ['mass'] = 110.62, ['volume'] = 34.7},\n ['forcefieldm'] = {['name'] = 'Force Field M', ['tier'] = 3, ['type'] = 'Force Field', ['mass'] = 110.62, ['volume'] = 34.7},\n ['forcefieldl'] = {['name'] = 'Force Field L', ['tier'] = 3, ['type'] = 'Force Field', ['mass'] = 110.62, ['volume'] = 34.7},\n ['territoryscanner'] = {['name'] = 'Territory Scanner', ['tier'] = 2, ['type'] = 'Instrument', ['mass'] = 66460, ['volume'] = 12700},\n ['gyroscope'] = {['name'] = 'Gyroscope', ['tier'] = 1, ['type'] = 'Instrument', ['mass'] = 104.41, ['volume'] = 17.65},\n ['telemeter'] = {['name'] = 'Telemeter', ['tier'] = 2, ['type'] = 'Instrument', ['mass'] = 40.79, ['volume'] = 31.4},\n ['remotecontroller'] = {['name'] = 'Remote Controller', ['tier'] = 3, ['type'] = 'Control Unit', ['mass'] = 7.79, ['volume'] = 4.5},\n ['hovercraftseatcontroller'] = {['name'] = 'Hovercraft Seat Controller', ['tier'] = 1, ['type'] = 'Control Unit', ['mass'] = 110.33, ['volume'] = 61.6},\n ['emergencycontroller'] = {['name'] = 'Emergency Controller', ['tier'] = 3, ['type'] = 'Control Unit', ['mass'] = 9.35, ['volume'] = 4.8},\n ['commandseatcontroller'] = {['name'] = 'Command Seat Controller', ['tier'] = 1, ['type'] = 'Control Unit', ['mass'] = 158.45, ['volume'] = 66.6},\n ['cockpitcontroller'] = {['name'] = 'Cockpit Controller', ['tier'] = 1, ['type'] = 'Control Unit', ['mass'] = 1210, ['volume'] = 491.2},\n ['programmingboard'] = {['name'] = 'Programming Board', ['tier'] = 1, ['type'] = 'Control Unit', ['mass'] = 27.74, ['volume'] = 12.7},\n ['gunnermodules'] = {['name'] = 'Gunner Module S', ['tier'] = 2, ['type'] = 'Control Unit', ['mass'] = 427.9, ['volume'] = 93.8},\n ['gunnermodulem'] = {['name'] = 'Gunner Module M', ['tier'] = 2, ['type'] = 'Control Unit', ['mass'] = 2170, ['volume'] = 486.4},\n ['gunnermodulel'] = {['name'] = 'Gunner Module L', ['tier'] = 2, ['type'] = 'Control Unit', ['mass'] = 11320, ['volume'] = 2666.6},\n ['antigravitygenerators'] = {['name'] = 'Anti-Gravity Generator S', ['tier'] = 4, ['type'] = 'Anti-Gravity Generator', ['mass'] = 27130, ['volume'] = 4279.69},\n ['antigravitygeneratorm'] = {['name'] = 'Anti-Gravity Generator M', ['tier'] = 4, ['type'] = 'Anti-Gravity Generator', ['mass'] = 137720, ['volume'] = 21620},\n ['antigravitygeneratorl'] = {['name'] = 'Anti-Gravity Generator L', ['tier'] = 4, ['type'] = 'Anti-Gravity Generator', ['mass'] = 550870, ['volume'] = 86470},\n ['antigravitypulsor'] = {['name'] = 'Anti-Gravity Pulsor', ['tier'] = 3, ['type'] = 'Anti-Gravity Generator', ['mass'] = 6210, ['volume'] = 804.93},\n ['slidingdoors'] = {['name'] = 'Sliding Door S', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 749.15, ['volume'] = 102.04},\n ['slidingdoorm'] = {['name'] = 'Sliding Door M', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 1010, ['volume'] = 151.8},\n ['reinforcedslidingdoor'] = {['name'] = 'Reinforced Sliding Door', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 4200, ['volume'] = 546.4},\n ['interiordoor'] = {['name'] = 'Interior Door', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 4200, ['volume'] = 546.4},\n ['airlock'] = {['name'] = 'Airlock', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 4200, ['volume'] = 546.4},\n ['gatexs'] = {['name'] = 'Gate XS', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760},\n ['expandedgates'] = {['name'] = 'Expanded Gate S', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760},\n ['gatem'] = {['name'] = 'Gate M', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760},\n ['expandedgatel'] = {['name'] = 'Expanded Gate L', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760},\n ['gatexl'] = {['name'] = 'Gate XL', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760},\n ['andoperator'] = {['name'] = 'AND Operator', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 13.27, ['volume'] = 5},\n ['notoperator'] = {['name'] = 'NOT Operator', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 7.47, ['volume'] = 4.5},\n ['oroperator'] = {['name'] = 'OR Operator', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 7.47, ['volume'] = 4.5},\n ['relay'] = {['name'] = 'Relay', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 8.87, ['volume'] = 6.5},\n ['databank'] = {['name'] = 'Databank', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 17.09, ['volume'] = 5.5},\n ['2counter'] = {['name'] = '2 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5},\n ['3counter'] = {['name'] = '3 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5},\n ['5counter'] = {['name'] = '5 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5},\n ['7counter'] = {['name'] = '7 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5},\n ['10counter'] = {['name'] = '10 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5},\n ['infraredlaseremitter'] = {['name'] = 'Infra-Red Laser Emitter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5},\n ['laseremitter'] = {['name'] = 'Laser Emitter', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 7.47, ['volume'] = 4.5},\n ['delayline'] = {['name'] = 'Delay Line', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 7.47, ['volume'] = 4.5},\n ['receiverxs'] = {['name'] = 'Receiver XS', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 13.27, ['volume'] = 5},\n ['receivers'] = {['name'] = 'Receiver S', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 475.87, ['volume'] = 91.56},\n ['receiverm'] = {['name'] = 'Receiver M', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 6636.912, ['volume'] = 1500},\n ['emitterxs'] = {['name'] = 'Emitter XS', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 69.31, ['volume'] = 15.46},\n ['emitters'] = {['name'] = 'Emitter S', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 427.72, ['volume'] = 88.56},\n ['emitterm'] = {['name'] = 'Emitter M', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 2040, ['volume'] = 44.36},\n ['longlightxs'] = {['name'] = 'Long Light XS', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 70.05, ['volume'] = 10.8},\n ['longlights'] = {['name'] = 'Long Light S', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6},\n ['longlightm'] = {['name'] = 'Long Light M', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6},\n ['longlightl'] = {['name'] = 'Long Light L', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6},\n ['squarelightxs'] = {['name'] = 'Square Light XS', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 70.05, ['volume'] = 10.8},\n ['squarelights'] = {['name'] = 'Square Light S', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6},\n ['squarelightm'] = {['name'] = 'Square Light M', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6},\n ['squarelightl'] = {['name'] = 'Square Light L', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6},\n ['verticallightxs'] = {['name'] = 'Vertical Light XS', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 70.05, ['volume'] = 10.8},\n ['verticallights'] = {['name'] = 'Vertical Light S', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6},\n ['verticallightm'] = {['name'] = 'Vertical Light M', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6},\n ['verticallightl'] = {['name'] = 'Vertical Light L', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6},\n ['headlight'] = {['name'] = 'Headlight', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6},\n ['smallatmosphericradarpvps'] = {['name'] = 'Small Atmospheric Radar PvP S', ['tier'] = 1, ['type'] = 'Radar', ['mass'] = 486.72, ['volume'] = 96.56},\n ['mediumatmosphericradarpvpm'] = {['name'] = 'Medium Atmospheric Radar PvP M', ['tier'] = 2, ['type'] = 'Radar', ['mass'] = 2910, ['volume'] = 486336},\n ['largeatmosphericradarpvpl'] = {['name'] = 'Large Atmospheric Radar PvP L', ['tier'] = 2, ['type'] = 'Radar', ['mass'] = 16140, ['volume'] = 2658.56},\n ['spaceradars'] = {['name'] = 'Space Radar S', ['tier'] = 1, ['type'] = 'Radar', ['mass'] = 486.72, ['volume'] = 96.56},\n ['spaceradarm'] = {['name'] = 'Space Radar M', ['tier'] = 1, ['type'] = 'Radar', ['mass'] = 2350, ['volume'] = 486.36},\n ['spaceradarl'] = {['name'] = 'Space Radar L', ['tier'] = 1, ['type'] = 'Radar', ['mass'] = 12490, ['volume'] = 2658.56},\n ['screenxs'] = {['name'] = 'Screen XS', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['screens'] = {['name'] = 'Screen S', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['screenm'] = {['name'] = 'Screen M', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['screenxl'] = {['name'] = 'Screen XL', ['tier'] = 3, ['type'] = 'Screen/Sign', ['mass'] = 12810, ['volume'] = 11170},\n ['transparentscreenxs'] = {['name'] = 'Transparent Screen XS', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['transparentscreens'] = {['name'] = 'Transparent Screen S', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['transparentscreenm'] = {['name'] = 'Transparent Screen M', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['transparentscreenl'] = {['name'] = 'Transparent Screen L', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['signxs'] = {['name'] = 'Sign XS', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['signs'] = {['name'] = 'Sign S', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['signm'] = {['name'] = 'Sign M', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['signl'] = {['name'] = 'Sign L', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['verticalsignxs'] = {['name'] = 'Vertical Sign XS', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['verticalsignm'] = {['name'] = 'Vertical Sign M', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['verticalsignl'] = {['name'] = 'Vertical Sign L', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8},\n ['sensorss'] = {['name'] = 'Sensors S', ['tier'] = 1, ['type'] = 'Surrogate Element', ['mass'] = 28, ['volume'] = 27},\n ['officechair'] = {['name'] = 'Office Chair', ['tier'] = 1, ['type'] = 'Chair', ['mass'] = 916.52, ['volume'] = 13},\n ['executivechair'] = {['name'] = 'Executive Chair', ['tier'] = 1, ['type'] = 'Chair', ['mass'] = 39.62, ['volume'] = 24},\n ['encampmentchair'] = {['name'] = 'Encampment Chair', ['tier'] = 1, ['type'] = 'Chair', ['mass'] = 2.52, ['volume'] = 2},\n ['manualswitch'] = {['name'] = 'Manual Switch', ['tier'] = 1, ['type'] = 'Sensor', ['mass'] = 13.27, ['volume'] = 5},\n ['pressuretile'] = {['name'] = 'Pressure Tile', ['tier'] = 1, ['type'] = 'Sensor', ['mass'] = 50.63, ['volume'] = 14.49},\n ['manualbuttonxs'] = {['name'] = 'Manual Button XS', ['tier'] = 1, ['type'] = 'Sensor', ['mass'] = 13.27, ['volume'] = 5},\n ['manualbuttons'] = {['name'] = 'Manual Button S', ['tier'] = 1, ['type'] = 'Sensor', ['mass'] = 13.27, ['volume'] = 5},\n ['laserreceiver'] = {['name'] = 'Laser Receiver', ['tier'] = 2, ['type'] = 'Sensor', ['mass'] = 9.93, ['volume'] = 5},\n ['infraredlaserreceiver'] = {['name'] = 'Infra-Red Laser Receiver', ['tier'] = 2, ['type'] = 'Sensor', ['mass'] = 9.93},\n ['detectionzonexs'] = {['name'] = 'Detection Zone XS', ['tier'] = 3, ['type'] = 'Sensor', ['mass'] = 7.79, ['volume'] = 4.5},\n ['detectionzones'] = {['name'] = 'Detection Zone S', ['tier'] = 3, ['type'] = 'Sensor', ['mass'] = 7.79, ['volume'] = 4.5},\n ['detectionzonem'] = {['name'] = 'Detection Zone M', ['tier'] = 3, ['type'] = 'Sensor', ['mass'] = 7.79, ['volume'] = 4.5},\n ['detectionzonel'] = {['name'] = 'Detection Zone L', ['tier'] = 3, ['type'] = 'Sensor', ['mass'] = 7.79, ['volume'] = 4.5},\n ['keyboardunit'] = {['name'] = 'Keyboard Unit', ['tier'] = 1, ['type'] = 'Decorative', ['mass'] = 24.68, ['volume'] = 3.8},\n ['antennas'] = {['name'] = 'Antenna S', ['tier'] = 1, ['type'] = 'Antenna', ['mass'] = 130.06, ['volume'] = 24},\n ['antennam'] = {['name'] = 'Antenna M', ['tier'] = 2, ['type'] = 'Antenna', ['mass'] = 902.74, ['volume'] = 159},\n ['antennal'] = {['name'] = 'Antenna L', ['tier'] = 3, ['type'] = 'Antenna', ['mass'] = 6850, ['volume'] = 1074},\n ['barriercorner'] = {['name'] = 'Barrier Corner', ['tier'] = 1, ['type'] = 'Barrier', ['mass'] = 14.65, ['volume'] = 4},\n ['barriers'] = {['name'] = 'Barrier S', ['tier'] = 1, ['type'] = 'Barrier', ['mass'] = 14.65, ['volume'] = 4},\n ['barrierm'] = {['name'] = 'Barrier M', ['tier'] = 1, ['type'] = 'Barrier', ['mass'] = 14.65, ['volume'] = 4},\n ['sinkunit'] = {['name'] = 'Sink Unit', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 6.72, ['volume'] = 4},\n ['showerunit'] = {['name'] = 'Shower Unit', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 25.62, ['volume'] = 13},\n ['urinalunit'] = {['name'] = 'Urinal Unit', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 8.32, ['volume'] = 4},\n ['toiletunita'] = {['name'] = 'Toilet Unit A', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 6.72, ['volume'] = 4},\n ['toiletunitb'] = {['name'] = 'Toilet Unit B', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 6.72, ['volume'] = 4},\n ['cablemodelas'] = {['name'] = 'Cable Model-A S', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4},\n ['cablemodelbs'] = {['name'] = 'Cable Model-B S', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4},\n ['cablemodelcs'] = {['name'] = 'Cable Model-C S', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4},\n ['cablemodelam'] = {['name'] = 'Cable Model-A M', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4},\n ['cablemodelbm'] = {['name'] = 'Cable Model-B M', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4},\n ['cablemodelcm'] = {['name'] = 'Cable Model-C M', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4},\n ['cornercablemodela'] = {['name'] = 'Corner Cable Model-A', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4},\n ['cornercablemodelb'] = {['name'] = 'Corner Cable Model-B', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4},\n ['cornercablemodelc'] = {['name'] = 'Corner Cable Model-C', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4},\n ['dresser'] = {['name'] = 'Dresser', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 8.32, ['volume'] = 4},\n ['bench'] = {['name'] = 'Bench', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 22.33, ['volume'] = 4},\n ['woodenlowtable'] = {['name'] = 'Wooden Low Table', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 5.92, ['volume'] = 4},\n ['sofa'] = {['name'] = 'Sofa', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 39.62, ['volume'] = 24},\n ['woodenwardrobe'] = {['name'] = 'Wooden Wardrobe', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 39.62, ['volume'] = 24},\n ['table'] = {['name'] = 'Table', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 264.32, ['volume'] = 159},\n ['trash'] = {['name'] = 'Trash', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 6.72, ['volume'] = 4},\n ['woodensofa'] = {['name'] = 'Wooden Sofa', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 39.62, ['volume'] = 24},\n ['nightstand'] = {['name'] = 'Nightstand', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 6.72, ['volume'] = 4},\n ['wardrobe'] = {['name'] = 'Wardrobe', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 39.62, ['volume'] = 24},\n ['woodenchair'] = {['name'] = 'Wooden Chair', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 2.52, ['volume'] = 2},\n ['woodenarmchair'] = {['name'] = 'Wooden Armchair', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 1.72, ['volume'] = 2},\n ['roundcarpet'] = {['name'] = 'Round Carpet', ['tier'] = 5, ['type'] = 'Furniture', ['mass'] = 2.78, ['volume'] = 2},\n ['squarecarpet'] = {['name'] = 'Square Carpet', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 2.52, ['volume'] = 2},\n ['woodendresser'] = {['name'] = 'Wooden Dresser', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 34.02, ['volume'] = 24},\n ['woodentablem'] = {['name'] = 'Wooden Table M', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 34.02, ['volume'] = 24},\n ['woodentablel'] = {['name'] = 'Wooden Table L', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 34.02, ['volume'] = 24},\n ['shelfempty'] = {['name'] = 'Shelf Empty', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 8.32, ['volume'] = 4},\n ['shelfhalffull'] = {['name'] = 'Shelf Half Full', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 8.32, ['volume'] = 4},\n ['shelffull'] = {['name'] = 'Shelf Full', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 8.32, ['volume'] = 4},\n ['bed'] = {['name'] = 'Bed', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 128.94, ['volume'] = 24},\n ['spaceshipholograms'] = {['name'] = 'Spaceship Hologram S', ['tier'] = 2, ['type'] = 'Hologram', ['mass'] = 112.72, ['volume'] = 9},\n ['spaceshiphologramm'] = {['name'] = 'Spaceship Hologram M', ['tier'] = 2, ['type'] = 'Hologram', ['mass'] = 15.98, ['volume'] = 13},\n ['spaceshipholograml'] = {['name'] = 'Spaceship Hologram L', ['tier'] = 2, ['type'] = 'Hologram', ['mass'] = 14.02, ['volume'] = 12.5},\n ['planethologram'] = {['name'] = 'Planet Hologram', ['tier'] = 1, ['type'] = 'Hologram', ['mass'] = 13.39, ['volume'] = 12.5},\n ['planetholograml'] = {['name'] = 'Planet Hologram L', ['tier'] = 1, ['type'] = 'Hologram', ['mass'] = 69.9, ['volume'] = 64},\n ['steelcolumn'] = {['name'] = 'Steel Column', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 13.37, ['volume'] = 4},\n ['steelpanel'] = {['name'] = 'Steel Panel', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 13.37, ['volume'] = 4},\n ['hulldecorativeelementa'] = {['name'] = 'Hull Decorative Element A', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 14.65, ['volume'] = 4},\n ['hulldecorativeelementb'] = {['name'] = 'Hull Decorative Element B', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 14.65, ['volume'] = 4},\n ['hulldecorativeelementc'] = {['name'] = 'Hull Decorative Element C', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 14.65, ['volume'] = 4},\n ['pipeam'] = {['name'] = 'Pipe A M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074},\n ['pipebm'] = {['name'] = 'Pipe B M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074},\n ['pipecm'] = {['name'] = 'Pipe C M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074},\n ['pipedm'] = {['name'] = 'Pipe D M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074},\n ['pipecornerm'] = {['name'] = 'Pipe Corner M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074},\n ['pipeconnectorm'] = {['name'] = 'Pipe Connector M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074},\n ['plantcasea'] = {['name'] = 'Plant Case A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 21.42, ['volume'] = 24},\n ['plantcaseb'] = {['name'] = 'Plant Case B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4},\n ['plantcasec'] = {['name'] = 'Plant Case C', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4},\n ['plantcased'] = {['name'] = 'Plant Case D', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4},\n ['plantcasee'] = {['name'] = 'Plant Case E', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4},\n ['suspendedfruitplant'] = {['name'] = 'Suspended Fruit Plant', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4},\n ['suspendedplanta'] = {['name'] = 'Suspended Plant A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4},\n ['suspendedplantb'] = {['name'] = 'Suspended Plant B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4},\n ['baggedplanta'] = {['name'] = 'Bagged Plant A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4},\n ['baggedplantb'] = {['name'] = 'Bagged Plant B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4},\n ['plant'] = {['name'] = 'Plant', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4},\n ['bonsai'] = {['name'] = 'Bonsai', ['tier'] = 5, ['type'] = 'Plant', ['mass'] = 902.04, ['volume'] = 180.6},\n ['eggplantplantcase'] = {['name'] = 'Eggplant Plant Case', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24},\n ['saladplantcase'] = {['name'] = 'Salad Plant Case', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24},\n ['squashplantcase'] = {['name'] = 'Squash Plant Case', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24},\n ['plantcases'] = {['name'] = 'Plant Case S', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24},\n ['plantcasem'] = {['name'] = 'Plant Case M', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24},\n ['ficusplanta'] = {['name'] = 'Ficus Plant A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24},\n ['ficusplantb'] = {['name'] = 'Ficus Plant B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24},\n ['foliageplantcasea'] = {['name'] = 'Foliage Plant Case A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24},\n ['foliageplantcaseb'] = {['name'] = 'Foliage Plant Case B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24},\n ['windowxs'] = {['name'] = 'Window XS', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 47.32, ['volume'] = 24},\n ['windows'] = {['name'] = 'Window S', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 94.64, ['volume'] = 48},\n ['windowm'] = {['name'] = 'Window M', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 189.28, ['volume'] = 96},\n ['windowl'] = {['name'] = 'Window L', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 378.56, ['volume'] = 192},\n ['armoredwindowxs'] = {['name'] = 'Armored Window XS', ['tier'] = 2, ['type'] = 'Window', ['mass'] = 47.16, ['volume'] = 24},\n ['armoredwindows'] = {['name'] = 'Armored Window S', ['tier'] = 2, ['type'] = 'Window', ['mass'] = 94.32, ['volume'] = 48},\n ['armoredwindowm'] = {['name'] = 'Armored Window M', ['tier'] = 2, ['type'] = 'Window', ['mass'] = 188.64, ['volume'] = 96},\n ['armoredwindowl'] = {['name'] = 'Armored Window L', ['tier'] = 2, ['type'] = 'Window', ['mass'] = 377.28, ['volume'] = 192},\n ['glasspanels'] = {['name'] = 'Glass Panel S', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 5.02, ['volume'] = 4},\n ['glasspanelm'] = {['name'] = 'Glass Panel M', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 20.08, ['volume'] = 16},\n ['glasspanell'] = {['name'] = 'Glass Panel L', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 31.92, ['volume'] = 24},\n ['baywindowxl'] = {['name'] = 'Bay Window XL', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 5090, ['volume'] = 2544},\n ['verticalwing'] = {['name'] = 'Vertical Wing', ['tier'] = 1, ['type'] = 'Winglets', ['mass'] = 20.3, ['volume'] = 4},\n ['wingtips'] = {['name'] = 'Wing Tip S', ['tier'] = 1, ['type'] = 'Winglets', ['mass'] = 20.3, ['volume'] = 4},\n ['wingtipm'] = {['name'] = 'Wing Tip M', ['tier'] = 1, ['type'] = 'Winglets', ['mass'] = 20.3, ['volume'] = 4},\n ['wingtipl'] = {['name'] = 'Wing Tip L', ['tier'] = 1, ['type'] = 'Winglets', ['mass'] = 127.75, ['volume'] = 24},\n ['aluminiumscrap'] = {['name'] = 'Aluminium Scrap', ['tier'] = 1, ['type'] = 'Scrap', ['mass'] = 2.7, ['volume'] = 1},\n ['carbonscrap'] = {['name'] = 'Carbon Scrap', ['tier'] = 1, ['type'] = 'Scrap', ['mass'] = 2.27, ['volume'] = 1},\n ['siliconscrap'] = {['name'] = 'Silicon Scrap', ['tier'] = 1, ['type'] = 'Scrap', ['mass'] = 2.33, ['volume'] = 1},\n ['ironscrap'] = {['name'] = 'Iron Scrap', ['tier'] = 1, ['type'] = 'Scrap', ['mass'] = 7.85, ['volume'] = 1},\n ['calciumscrap'] = {['name'] = 'Calcium Scrap', ['tier'] = 2, ['type'] = 'Scrap', ['mass'] = 1.55, ['volume'] = 1},\n ['chromiumscrap'] = {['name'] = 'Chromium Scrap', ['tier'] = 2, ['type'] = 'Scrap', ['mass'] = 7.19, ['volume'] = 1},\n ['copperscrap'] = {['name'] = 'Copper Scrap', ['tier'] = 2, ['type'] = 'Scrap', ['mass'] = 8.96, ['volume'] = 1},\n ['sodiumscrap'] = {['name'] = 'Sodium Scrap', ['tier'] = 2, ['type'] = 'Scrap', ['mass'] = 0.97, ['volume'] = 1},\n ['lithiumscrap'] = {['name'] = 'Lithium Scrap', ['tier'] = 3, ['type'] = 'Scrap', ['mass'] = 0.53, ['volume'] = 1},\n ['nickelscrap'] = {['name'] = 'Nickel Scrap', ['tier'] = 3, ['type'] = 'Scrap', ['mass'] = 8.91, ['volume'] = 1},\n ['silverscrap'] = {['name'] = 'Silver Scrap', ['tier'] = 3, ['type'] = 'Scrap', ['mass'] = 10.49, ['volume'] = 1},\n ['sulfurscrap'] = {['name'] = 'Sulfur Scrap', ['tier'] = 3, ['type'] = 'Scrap', ['mass'] = 1.82, ['volume'] = 1},\n ['cobaltscrap'] = {['name'] = 'Cobalt Scrap', ['tier'] = 4, ['type'] = 'Scrap', ['mass'] = 8.9, ['volume'] = 1},\n ['fluorinescrap'] = {['name'] = 'Fluorine Scrap', ['tier'] = 4, ['type'] = 'Scrap', ['mass'] = 1.7, ['volume'] = 1},\n ['goldscrap'] = {['name'] = 'Gold Scrap', ['tier'] = 4, ['type'] = 'Scrap', ['mass'] = 19.3, ['volume'] = 1},\n ['scandiumscrap'] = {['name'] = 'Scandium Scrap', ['tier'] = 4, ['type'] = 'Scrap', ['mass'] = 2.98, ['volume'] = 1},\n ['ironhoneycomb'] = {['name'] = 'Iron Honeycomb', ['tier'] = 1, ['type'] = 'Pure Honeycomb', ['mass'] = 78.5, ['volume'] = 10},\n ['aluminiumhoneycomb'] = {['name'] = 'Aluminium Honeycomb', ['tier'] = 1, ['type'] = 'Pure Honeycomb', ['mass'] = 27, ['volume'] = 5},\n ['carbonhoneycomb'] = {['name'] = 'Carbon Honeycomb', ['tier'] = 1, ['type'] = 'Pure Honeycomb', ['mass'] = 22.7, ['volume'] = 10},\n ['siliconhoneycomb'] = {['name'] = 'Silicon Honeycomb', ['tier'] = 1, ['type'] = 'Pure Honeycomb', ['mass'] = 23.3, ['volume'] = 10},\n ['copperhoneycomb'] = {['name'] = 'Copper Honeycomb', ['tier'] = 2, ['type'] = 'Pure Honeycomb', ['mass'] = 89.6, ['volume'] = 10},\n ['chromiumhoneycomb'] = {['name'] = 'Chromium Honeycomb', ['tier'] = 2, ['type'] = 'Pure Honeycomb', ['mass'] = 71.9, ['volume'] = 10},\n ['calciumhoneycomb'] = {['name'] = 'Calcium Honeycomb', ['tier'] = 2, ['type'] = 'Pure Honeycomb', ['mass'] = 15.5, ['volume'] = 10},\n ['sodiumhoneycomb'] = {['name'] = 'Sodium Honeycomb', ['tier'] = 2, ['type'] = 'Pure Honeycomb', ['mass'] = 9.7, ['volume'] = 10},\n ['lithiumhoneycomb'] = {['name'] = 'Lithium Honeycomb', ['tier'] = 3, ['type'] = 'Pure Honeycomb', ['mass'] = 5.3, ['volume'] = 10},\n ['nickelhoneycomb'] = {['name'] = 'Nickel Honeycomb', ['tier'] = 3, ['type'] = 'Pure Honeycomb', ['mass'] = 89.1, ['volume'] = 10},\n ['silverhoneycomb'] = {['name'] = 'Silver Honeycomb', ['tier'] = 3, ['type'] = 'Pure Honeycomb', ['mass'] = 104.9, ['volume'] = 10},\n ['sulfurhoneycomb'] = {['name'] = 'Sulfur Honeycomb', ['tier'] = 3, ['type'] = 'Pure Honeycomb', ['mass'] = 18.19, ['volume'] = 10},\n ['goldhoneycomb'] = {['name'] = 'Gold Honeycomb', ['tier'] = 4, ['type'] = 'Pure Honeycomb', ['mass'] = 193, ['volume'] = 10},\n ['cobalthoneycomb'] = {['name'] = 'Cobalt Honeycomb', ['tier'] = 4, ['type'] = 'Pure Honeycomb', ['mass'] = 89, ['volume'] = 10},\n ['fluorinehoneycomb'] = {['name'] = 'Fluorine Honeycomb', ['tier'] = 4, ['type'] = 'Pure Honeycomb', ['mass'] = 16.96, ['volume'] = 10},\n ['scandiumhoneycomb'] = {['name'] = 'Scandium Honeycomb', ['tier'] = 4, ['type'] = 'Pure Honeycomb', ['mass'] = 29.85, ['volume'] = 10},\n ['manganesehoneycomb'] = {['name'] = 'Manganese Honeycomb', ['tier'] = 5, ['type'] = 'Pure Honeycomb', ['mass'] = 72.1, ['volume'] = 10},\n ['niobiumhoneycomb'] = {['name'] = 'Niobium Honeycomb', ['tier'] = 5, ['type'] = 'Pure Honeycomb', ['mass'] = 85.7, ['volume'] = 10},\n ['titaniumhoneycomb'] = {['name'] = 'Titanium Honeycomb', ['tier'] = 5, ['type'] = 'Pure Honeycomb', ['mass'] = 45.1, ['volume'] = 10},\n ['vanadiumhoneycomb'] = {['name'] = 'Vanadium Honeycomb', ['tier'] = 5, ['type'] = 'Pure Honeycomb', ['mass'] = 60, ['volume'] = 10},\n ['plastichoneycomb'] = {['name'] = 'Plastic Honeycomb', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 27.57, ['volume'] = 10},\n ['woodhoneycomb'] = {['name'] = 'Wood Honeycomb', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 27.19, ['volume'] = 10},\n ['concretehoneycomb'] = {['name'] = 'Concrete Honeycomb', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 27.57, ['volume'] = 10},\n ['carbonfiberhoneycomb'] = {['name'] = 'Carbonfiber Honeycomb', ['tier'] = 2, ['type'] = 'Product Honeycomb', ['mass'] = 27.38, ['volume'] = 10},\n ['brickhoneycomb'] = {['name'] = 'Brick Honeycomb', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 27.57, ['volume'] = 10},\n ['steelhoneycomb'] = {['name'] = 'Steel Honeycomb', ['tier'] = 2, ['type'] = 'Product Honeycomb', ['mass'] = 115.14, ['volume'] = 10},\n ['marblehoneycomb'] = {['name'] = 'Marble Honeycomb', ['tier'] = 2, ['type'] = 'Product Honeycomb', ['mass'] = 129.4, ['volume'] = 10},\n ['luminescentwhiteglass'] = {['name'] = 'Luminescent White Glass', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 26, ['volume'] = 10},\n ['resurrectionnode'] = {['name'] = 'Resurrection Node', ['tier'] = 2, ['type'] = 'Resurrection Node', ['mass'] = 728.43, ['volume'] = 203.33},\n ['virtualscaffoldingprojector'] = {['name'] = 'Virtual Scaffolding Projector', ['tier'] = 4, ['type'] = 'Virtual Projector', ['mass'] = 167.11, ['volume'] = 122.4},\n ['cannonxs'] = {['name'] = 'Cannon XS', ['tier'] = 1, ['type'] = 'Cannon', ['mass'] = 190.1, ['volume'] = 34.2},\n ['cannons'] = {['name'] = 'Cannon S', ['tier'] = 2, ['type'] = 'Cannon', ['mass'] = 517.52, ['volume'] = 95.4},\n ['cannonm'] = {['name'] = 'Cannon M', ['tier'] = 3, ['type'] = 'Cannon', ['mass'] = 2670, ['volume'] = 478},\n ['cannonl'] = {['name'] = 'Cannon L', ['tier'] = 4, ['type'] = 'Cannon', ['mass'] = 15240, ['volume'] = 2614.2},\n ['laserxs'] = {['name'] = 'Laser XS', ['tier'] = 1, ['type'] = 'Laser', ['mass'] = 118.55, ['volume'] = 39.2},\n ['lasers'] = {['name'] = 'Laser S', ['tier'] = 2, ['type'] = 'Laser', ['mass'] = 508.26, ['volume'] = 120.2},\n ['laserm'] = {['name'] = 'Laser M', ['tier'] = 3, ['type'] = 'Laser', ['mass'] = 2690, ['volume'] = 600.8},\n ['laserl'] = {['name'] = 'Laser L', ['tier'] = 4, ['type'] = 'Laser', ['mass'] = 14770, ['volume'] = 3221},\n ['missilexs'] = {['name'] = 'Missile XS', ['tier'] = 1, ['type'] = 'Missile', ['mass'] = 207.67, ['volume'] = 40.2},\n ['missiles'] = {['name'] = 'Missile S', ['tier'] = 2, ['type'] = 'Missile', ['mass'] = 593.35, ['volume'] = 125.4},\n ['missilem'] = {['name'] = 'Missile M', ['tier'] = 3, ['type'] = 'Missile', ['mass'] = 2970, ['volume'] = 628},\n ['missilel'] = {['name'] = 'Missile L', ['tier'] = 4, ['type'] = 'Missile', ['mass'] = 16130, ['volume'] = 3364.2},\n ['railgunxs'] = {['name'] = 'Railgun XS', ['tier'] = 1, ['type'] = 'Railgun', ['mass'] = 232.02, ['volume'] = 33.66},\n ['railguns'] = {['name'] = 'Railgun S', ['tier'] = 2, ['type'] = 'Railgun', ['mass'] = 517.52, ['volume'] = 95.4},\n ['railgunm'] = {['name'] = 'Railgun M', ['tier'] = 3, ['type'] = 'Railgun', ['mass'] = 3010, ['volume'] = 565.89},\n ['railgunl'] = {['name'] = 'Railgun L', ['tier'] = 4, ['type'] = 'Railgun', ['mass'] = 16720, ['volume'] = 3054.89},\n ['cannonagilekineticammoxs'] = {['name'] = 'Cannon Agile Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.61, ['volume'] = 1},\n ['cannondefensekineticammoxs'] = {['name'] = 'Cannon Defense Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.59, ['volume'] = 1},\n ['cannonheavykineticammoxs'] = {['name'] = 'Cannon Heavy Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.73, ['volume'] = 1},\n ['cannonkineticammoxs'] = {['name'] = 'Cannon Kinetic Ammo XS', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 1.54, ['volume'] = 1},\n ['cannonprecisionkineticammoxs'] = {['name'] = 'Cannon Precision Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.54, ['volume'] = 1},\n ['cannonagilethermicammoxs'] = {['name'] = 'Cannon Agile Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.07, ['volume'] = 1},\n ['cannondefensethermicammoxs'] = {['name'] = 'Cannon Defense Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.05, ['volume'] = 1},\n ['cannonheavythermicammoxs'] = {['name'] = 'Cannon Heavy Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.19, ['volume'] = 1},\n ['cannonprecisionthermicammoxs'] = {['name'] = 'Cannon Precision Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.08, ['volume'] = 1},\n ['cannonthermicammoxs'] = {['name'] = 'Cannon Thermic Ammo XS', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 1.01, ['volume'] = 1},\n ['cannonagilekineticammos'] = {['name'] = 'Cannon Agile Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 4.1, ['volume'] = 5},\n ['cannondefensekineticammos'] = {['name'] = 'Cannon Defense Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 4.07, ['volume'] = 5},\n ['cannonheavykineticammos'] = {['name'] = 'Cannon Heavy Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 4.34, ['volume'] = 5},\n ['cannonkineticammos'] = {['name'] = 'Cannon Kinetic Ammo S', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 3.98, ['volume'] = 5},\n ['cannonprecisionkineticammos'] = {['name'] = 'Cannon Precision Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 4.11, ['volume'] = 5},\n ['cannonagilethermicammos'] = {['name'] = 'Cannon Agile Thermic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 3.2, ['volume'] = 5},\n ['cannondefensethermicammos'] = {['name'] = 'Cannon Defense Thermic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 2.99, ['volume'] = 5},\n ['cannonheavythermicammos'] = {['name'] = 'Cannon Heavy Thermic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 3.28, ['volume'] = 5},\n ['cannonprecisionthermicammos'] = {['name'] = 'Cannon Precision Thermic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 3.2, ['volume'] = 5},\n ['cannonthermicammos'] = {['name'] = 'Cannon Thermic Ammo S', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 2.93, ['volume'] = 5},\n ['cannonagilekineticammom'] = {['name'] = 'Cannon Agile Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 14.73, ['volume'] = 25},\n ['cannondefensekineticammom'] = {['name'] = 'Cannon Defense Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 14.66, ['volume'] = 25},\n ['cannonheavykineticammom'] = {['name'] = 'Cannon Heavy Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 15.21, ['volume'] = 25},\n ['cannonkineticammom'] = {['name'] = 'Cannon Kinetic Ammo M', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 14.66, ['volume'] = 25},\n ['cannonprecisionkineticammom'] = {['name'] = 'Cannon Precision Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 14.76, ['volume'] = 25},\n ['cannonagilethermicammom'] = {['name'] = 'Cannon Agile Thermic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 12.57, ['volume'] = 25},\n ['cannondefensethermicammom'] = {['name'] = 'Cannon Defense Thermic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 12.5, ['volume'] = 25},\n ['cannonheavythermicammom'] = {['name'] = 'Cannon Heavy Thermic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 13.05, ['volume'] = 25},\n ['cannonprecisionthermicammom'] = {['name'] = 'Cannon Precision Thermic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 12.6, ['volume'] = 25},\n ['cannonthermicammom'] = {['name'] = 'Cannon Thermic Ammo M', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 12.55, ['volume'] = 25},\n ['cannonagilekineticammol'] = {['name'] = 'Cannon Agile Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 75.56, ['volume'] = 125},\n ['cannondefensekineticammol'] = {['name'] = 'Cannon Defense Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 75.42, ['volume'] = 125},\n ['cannonheavykineticammol'] = {['name'] = 'Cannon Heavy Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 76.52, ['volume'] = 125},\n ['cannonkineticammol'] = {['name'] = 'Cannon Kinetic Ammo L', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 76.58, ['volume'] = 125},\n ['cannonprecisionkineticammol'] = {['name'] = 'Cannon Precision Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 75.61, ['volume'] = 125},\n ['cannonagilethermicammol'] = {['name'] = 'Cannon Agile Thermic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 71.24, ['volume'] = 125},\n ['cannondefensethermicammol'] = {['name'] = 'Cannon Defense Thermic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 71.1, ['volume'] = 125},\n ['cannonheavythermicammol'] = {['name'] = 'Cannon Heavy Thermic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 72.2, ['volume'] = 125},\n ['cannonprecisionthermicammol'] = {['name'] = 'Cannon Precision Thermic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 71.29, ['volume'] = 125},\n ['cannonthermicammol'] = {['name'] = 'Cannon Thermic Ammo L', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 72.37, ['volume'] = 125},\n ['laseragileelectromagneticammoxs'] = {['name'] = 'Laser Agile Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 31.56, ['volume'] = 2},\n ['laserdefenseelectromagneticammoxs'] = {['name'] = 'Laser Defense Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.54, ['volume'] = 2},\n ['laserelectromagneticammoxs'] = {['name'] = 'Laser Electromagnetic Ammo XS', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 1.46, ['volume'] = 2},\n ['laserheavyelectromagneticammoxs'] = {['name'] = 'Laser Heavy Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.68},\n ['laserprecisionelectromagneticammoxs'] = {['name'] = 'Laser Precision Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.56, ['volume'] = 2},\n ['laseragilethermicammoxs'] = {['name'] = 'Laser Agile Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 0.67, ['volume'] = 2},\n ['laserdefensethermicammoxs'] = {['name'] = 'Laser Defense Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 0.65, ['volume'] = 2},\n ['laserheavythermicammoxs'] = {['name'] = 'Laser Heavy Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 0.79, ['volume'] = 2},\n ['laserprecisionthermicammoxs'] = {['name'] = 'Laser Precision Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 0.67, ['volume'] = 2},\n ['laserthermicammoxs'] = {['name'] = 'Laser Thermic Ammo XS', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 0.6, ['volume'] = 2},\n ['laseragileelectromagneticammos'] = {['name'] = 'Laser Agile Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.21, ['volume'] = 10},\n ['laserdefenseelectromagneticammos'] = {['name'] = 'Laser Defense Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.18, ['volume'] = 10},\n ['laserelectromagneticammos'] = {['name'] = 'Laser Electromagnetic Ammo S', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 3.03, ['volume'] = 10},\n ['laserheavyelectromagneticammos'] = {['name'] = 'Laser Heavy Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.45, ['volume'] = 10},\n ['laserprecisionelectromagneticammos'] = {['name'] = 'Laser Precision Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.23, ['volume'] = 10},\n ['laseragilethermicammos'] = {['name'] = 'Laser Agile Thermic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.44, ['volume'] = 10},\n ['laserdefensethermicammos'] = {['name'] = 'Laser Defense Thermic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.4, ['volume'] = 10},\n ['laserheavythermicammos'] = {['name'] = 'Laser Heavy Thermic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.68, ['volume'] = 10},\n ['laserprecisionthermicammos'] = {['name'] = 'Laser Precision Thermic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.45, ['volume'] = 10},\n ['laserthermicammos'] = {['name'] = 'Laser Thermic Ammo S', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 1.31, ['volume'] = 10},\n ['laseragileelectromagneticammom'] = {['name'] = 'Laser Agile Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 7.19, ['volume'] = 50},\n ['laserdefenseelectromagneticammom'] = {['name'] = 'Laser Defense Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 7.12, ['volume'] = 50},\n ['laserelectromagneticammom'] = {['name'] = 'Laser Electromagnetic Ammo M', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 6.78, ['volume'] = 50},\n ['laserheavyelectromagneticammom'] = {['name'] = 'Laser Heavy Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 7.67, ['volume'] = 50},\n ['laserprecisionelectromagneticammom'] = {['name'] = 'Laser Precision Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 7.22, ['volume'] = 50},\n ['laseragilethermicammom'] = {['name'] = 'Laser Agile Thermic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.64, ['volume'] = 50},\n ['laserdefensethermicammom'] = {['name'] = 'Laser Defense Thermic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.56, ['volume'] = 50},\n ['laserheavythermicammom'] = {['name'] = 'Laser Heavy Thermic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.56, ['volume'] = 50},\n ['laserprecisionthermicammom'] = {['name'] = 'Laser Precision Thermic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 4.12, ['volume'] = 50},\n ['laserthermicammom'] = {['name'] = 'Laser Thermic Ammo M', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 3.34, ['volume'] = 50},\n ['laseragileelectromagneticammol'] = {['name'] = 'Laser Agile Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 19.77, ['volume'] = 250},\n ['laserdefenseelectromagneticammol'] = {['name'] = 'Laser Defense Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 19.62, ['volume'] = 250},\n ['laserelectromagneticammol'] = {['name'] = 'Laser Electromagnetic Ammo L', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 18.7, ['volume'] = 250},\n ['laserheavyelectromagneticammol'] = {['name'] = 'Laser Heavy Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 20.73, ['volume'] = 250},\n ['laserprecisionelectromagneticammol'] = {['name'] = 'Laser Precision Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 19.81, ['volume'] = 250},\n ['laseragilethermicammol'] = {['name'] = 'Laser Agile Thermic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 12.65, ['volume'] = 250},\n ['laserdefensethermicammol'] = {['name'] = 'Laser Defense Thermic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 12.51, ['volume'] = 250},\n ['laserheavythermicammol'] = {['name'] = 'Laser Heavy Thermic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 13.61, ['volume'] = 250},\n ['laserprecisionthermicammol'] = {['name'] = 'Laser Precision Thermic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 12.7, ['volume'] = 250},\n ['laserthermicammol'] = {['name'] = 'Laser Thermic Ammo L', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 11.81, ['volume'] = 250},\n ['missileagileantimatterammoxs'] = {['name'] = 'Missile Agile Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 0.94, ['volume'] = 5},\n ['missileantimatterammoxs'] = {['name'] = 'Missile Antimatter Ammo XS', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 0.87, ['volume'] = 5},\n ['missiledefenseantimatterammoxs'] = {['name'] = 'Missile Defense Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 0.92, ['volume'] = 5},\n ['missileheavyantimatterammoxs'] = {['name'] = 'Missile Heavy Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.06, ['volume'] = 5},\n ['missileprecisionantimatterammoxs'] = {['name'] = 'Missile Precision Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 0.95, ['volume'] = 5},\n ['missileagilekineticammoxs'] = {['name'] = 'Missile Agile Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.37, ['volume'] = 5},\n ['missiledefensekineticammoxs'] = {['name'] = 'Missile Defense Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.35, ['volume'] = 5},\n ['missileheavykineticammoxs'] = {['name'] = 'Missile Heavy Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.49, ['volume'] = 5},\n ['missilekineticammoxs'] = {['name'] = 'Missile Kinetic Ammo XS', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 1.29, ['volume'] = 5},\n ['missileprecisionkineticammoxs'] = {['name'] = 'Missile Precision Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.38, ['volume'] = 5},\n ['missileagileantimatterammos'] = {['name'] = 'Missile Agile Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.16, ['volume'] = 25},\n ['missileantimatterammos'] = {['name'] = 'Missile Antimatter Ammo S', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 2.16, ['volume'] = 25},\n ['missiledefenseantimatterammos'] = {['name'] = 'Missile Defense Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.12, ['volume'] = 25},\n ['missileheavyantimatterammos'] = {['name'] = 'Missile Heavy Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.4, ['volume'] = 25},\n ['missileprecisionantimatterammos'] = {['name'] = 'Missile Precision Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.17, ['volume'] = 25},\n ['missileagilekineticammos'] = {['name'] = 'Missile Agile Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 3.02, ['volume'] = 25},\n ['missiledefensekineticammos'] = {['name'] = 'Missile Defense Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.99, ['volume'] = 25},\n ['missileheavykineticammos'] = {['name'] = 'Missile Heavy Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 3.26, ['volume'] = 25},\n ['missilekineticammos'] = {['name'] = 'Missile Kinetic Ammo S', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 2.87, ['volume'] = 25},\n ['missileprecisionkineticammos'] = {['name'] = 'Missile Precision Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 3.03, ['volume'] = 25},\n ['missileagileantimatterammom'] = {['name'] = 'Missile Agile Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.41, ['volume'] = 125},\n ['missileantimatterammom'] = {['name'] = 'Missile Antimatter Ammo M', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 6.24, ['volume'] = 125},\n ['missiledefenseantimatterammom'] = {['name'] = 'Missile Defense Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.33, ['volume'] = 125},\n ['missileheavyantimatterammom'] = {['name'] = 'Missile Heavy Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.89, ['volume'] = 125},\n ['missileprecisionantimatterammom'] = {['name'] = 'Missile Precision Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.43, ['volume'] = 125},\n ['missileagilekineticammom'] = {['name'] = 'Missile Agile Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 8.13, ['volume'] = 125},\n ['missiledefensekineticammom'] = {['name'] = 'Missile Defense Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 8.06, ['volume'] = 125},\n ['missileheavykineticammom'] = {['name'] = 'Missile Heavy Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 8.61, ['volume'] = 125},\n ['missilekineticammom'] = {['name'] = 'Missile Kinetic Ammo M', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 7.92, ['volume'] = 125},\n ['missileprecisionkineticammom'] = {['name'] = 'Missile Precision Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 8.15, ['volume'] = 125},\n ['missileagileantimatterammol'] = {['name'] = 'Missile Agile Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 27.54, ['volume'] = 625},\n ['missileantimatterammol'] = {['name'] = 'Missile Antimatter Ammo L', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 27.9, ['volume'] = 625},\n ['missiledefenseantimatterammol'] = {['name'] = 'Missile Defense Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.33, ['volume'] = 625},\n ['missileheavyantimatterammol'] = {['name'] = 'Missile Heavy Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 27.4, ['volume'] = 625},\n ['missileprecisionantimatterammol'] = {['name'] = 'Missile Precision Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 27.59, ['volume'] = 625},\n ['missileagilekineticammol'] = {['name'] = 'Missile Agile Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 30.99, ['volume'] = 625},\n ['missiledefensekineticammol'] = {['name'] = 'Missile Defense Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 30.84, ['volume'] = 625},\n ['missileheavykineticammol'] = {['name'] = 'Missile Heavy Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 31.95, ['volume'] = 625},\n ['missilekineticammol'] = {['name'] = 'Missile Kinetic Ammo L', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 31.26, ['volume'] = 625},\n ['missileprecisionkineticammol'] = {['name'] = 'Missile Precision Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 31.04, ['volume'] = 625},\n ['railgunagileantimatterammoxs'] = {['name'] = 'Railgun Agile Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.04, ['volume'] = 10},\n ['railgunantimatterammoxs'] = {['name'] = 'Railgun Antimatter Ammo XS', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 2.01, ['volume'] = 10},\n ['railgundefenseantimatterammoxs'] = {['name'] = 'Railgun Defense Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.02, ['volume'] = 10},\n ['railgunheavyantimatterammoxs'] = {['name'] = 'Railgun Heavy Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.16, ['volume'] = 10},\n ['railgunprecisionantimatterammoxs'] = {['name'] = 'Railgun Precision Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.05, ['volume'] = 10},\n ['railgunagileelectromagneticammoxs'] = {['name'] = 'Railgun Agile Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.77, ['volume'] = 10},\n ['railgundefenseelectromagneticammoxs'] = {['name'] = 'Railgun Defense Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.8, ['volume'] = 10},\n ['railgunelectromagneticammoxs'] = {['name'] = 'Railgun Electromagnetic Ammo XS', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 6.43, ['volume'] = 10},\n ['railgunheavyelectromagneticammoxs'] = {['name'] = 'Railgun Heavy Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.94, ['volume'] = 10},\n ['railgunprecisionelectromagneticammoxs'] = {['name'] = 'Railgun Precision Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.83, ['volume'] = 10},\n ['railgunagileantimatterammos'] = {['name'] = 'Railgun Agile Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 4.96, ['volume'] = 50},\n ['railgunantimatterammos'] = {['name'] = 'Railgun Antimatter Ammo S', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 4.92, ['volume'] = 50},\n ['railgundefenseantimatterammos'] = {['name'] = 'Railgun Defense Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 4.93, ['volume'] = 50},\n ['railgunheavyantimatterammos'] = {['name'] = 'Railgun Heavy Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 5.2, ['volume'] = 50},\n ['railgunprecisionantimatterammos'] = {['name'] = 'Railgun Precision Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 4.97, ['volume'] = 50},\n ['railgunagileelectromagneticammos'] = {['name'] = 'Railgun Agile Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 6.52, ['volume'] = 50},\n ['railgundefenseelectromagneticammos'] = {['name'] = 'Railgun Defense Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 6.49, ['volume'] = 50},\n ['railgunelectromagneticammos'] = {['name'] = 'Railgun Electromagnetic Ammo S', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 6.43, ['volume'] = 50},\n ['railgunheavyelectromagneticammos'] = {['name'] = 'Railgun Heavy Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 6.76, ['volume'] = 50},\n ['railgunprecisionelectromagneticammos'] = {['name'] = 'Railgun Precision Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 6.53, ['volume'] = 50},\n ['railgunagileantimatterammom'] = {['name'] = 'Railgun Agile Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 16.45, ['volume'] = 250},\n ['railgunantimatterammom'] = {['name'] = 'Railgun Antimatter Ammo M', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 16.54, ['volume'] = 250},\n ['railgundefenseantimatterammom'] = {['name'] = 'Railgun Defense Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 16.38, ['volume'] = 250},\n ['railgunheavyantimatterammom'] = {['name'] = 'Railgun Heavy Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 16.93, ['volume'] = 250},\n ['railgunprecisionantimatterammom'] = {['name'] = 'Railgun Precision Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 16.48, ['volume'] = 250},\n ['railgunagileelectromagneticammom'] = {['name'] = 'Railgun Agile Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 19.58, ['volume'] = 250},\n ['railgundefenseelectromagneticammom'] = {['name'] = 'Railgun Defense Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 19.5, ['volume'] = 250},\n ['railgunelectromagneticammom'] = {['name'] = 'Railgun Electromagnetic Ammo M', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 19.56, ['volume'] = 250},\n ['railgunheavyelectromagneticammom'] = {['name'] = 'Railgun Heavy Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 20.06, ['volume'] = 250},\n ['railgunprecisionelectromagneticammom'] = {['name'] = 'Railgun Precision Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 19.6, ['volume'] = 250},\n ['railgunagileantimatterammol'] = {['name'] = 'Railgun Agile Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 79, ['volume'] = 1250},\n ['railgunantimatterammol'] = {['name'] = 'Railgun Antimatter Ammo L', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 80.35, ['volume'] = 1250},\n ['railgundefenseantimatterammol'] = {['name'] = 'Railgun Defense Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 78.86, ['volume'] = 1250},\n ['railgunheavyantimatterammol'] = {['name'] = 'Railgun Heavy Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 79.96, ['volume'] = 1250},\n ['railgunprecisionantimatterammol'] = {['name'] = 'Railgun Precision Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 79.05, ['volume'] = 1250},\n ['railgunagileelectromagneticammol'] = {['name'] = 'Railgun Agile Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 85.24, ['volume'] = 1250},\n ['railgundefenseelectromagneticammol'] = {['name'] = 'Railgun Defense Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 85.1, ['volume'] = 1250},\n ['railgunelectromagneticammol'] = {['name'] = 'Railgun Electromagnetic Ammo L', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 86.4, ['volume'] = 1250},\n ['railgunheavyelectromagneticammol'] = {['name'] = 'Railgun Heavy Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 86.2, ['volume'] = 1250},\n ['railgunprecisionelectromagneticammol'] = {['name'] = 'Railgun Precision Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 85.29, ['volume'] = 1250},\n ['warpcell'] = {['name'] = 'Warp Cell', ['tier'] = 2, ['type'] = 'Warp Cell', ['mass'] = 100, ['volume'] = 40},\n ['warpdrivel'] = {['name'] = 'Warp Drive L', ['tier'] = 1, ['type'] = 'Warp Drive Unit', ['mass'] = 31360, ['volume'] = 75},\n ['warpbeaconxl'] = {['name'] = 'Warp Beacon XL', ['tier'] = 5, ['type'] = 'Warp Beacon Unit', ['mass'] = 148940, ['volume'] = 25360},\n ['hatchs'] = {['name'] = 'Hatch S', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 229.09, ['volume'] = 64},\n ['fuelintakexs'] = {['name'] = 'Fuel Intake XS', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 4.12, ['volume'] = 2},\n ['freightatmosphericenginexs'] = {['name'] = 'Freight Atmospheric Engine XS', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6},\n ['safeatmosphericenginexs'] = {['name'] = 'Safe Atmospheric Engine XS', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6},\n ['maneuveratmosphericenginexs'] = {['name'] = 'Maneuver Atmospheric Engine XS', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6},\n ['militaryatmosphericenginexs'] = {['name'] = 'Military Atmospheric Engine XS', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6},\n ['freightatmosphericengines'] = {['name'] = 'Freight Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6},\n ['maneuveratmosphericengines'] = {['name'] = 'Maneuver Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6},\n ['militaryatmosphericengines'] = {['name'] = 'Military Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6},\n ['safeatmosphericengines'] = {['name'] = 'Safe Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6},\n ['freightatmosphericenginem'] = {['name'] = 'Freight Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2},\n ['maneuveratmosphericenginem'] = {['name'] = 'Maneuver Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2},\n ['militaryatmosphericenginem'] = {['name'] = 'Military Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2},\n ['safeatmosphericenginem'] = {['name'] = 'Safe Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2},\n ['freightatmosphericenginel'] = {['name'] = 'Freight Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4},\n ['maneuveratmosphericenginel'] = {['name'] = 'Maneuver Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4},\n ['militaryatmosphericenginel'] = {['name'] = 'Military Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4},\n ['safeatmosphericenginel'] = {['name'] = 'Safe Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4},\n ['freightspaceenginexs'] = {['name'] = 'Freight Space Engine XS', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33},\n ['maneuverspaceenginexs'] = {['name'] = 'Maneuver Space Engine XS', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33},\n ['militaryspaceenginexs'] = {['name'] = 'Military Space Engine XS', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33},\n ['safespaceenginexs'] = {['name'] = 'Safe Space Engine XS', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33},\n ['freightspaceengines'] = {['name'] = 'Freight Space Engine S', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24},\n ['maneuverspaceengines'] = {['name'] = 'Maneuver Space Engine S', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24},\n ['militaryspaceengines'] = {['name'] = 'Military Space Engine S', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24},\n ['safespaceengines'] = {['name'] = 'Safe Space Engine S', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24},\n ['freightspaceenginem'] = {['name'] = 'Freight Space Engine M', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4},\n ['maneuverspaceenginem'] = {['name'] = 'Maneuver Space Engine M', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4},\n ['militaryspaceenginem'] = {['name'] = 'Military Space Engine M', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4},\n ['safespaceenginem'] = {['name'] = 'Safe Space Engine M', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4},\n ['freightspaceenginel'] = {['name'] = 'Freight Space Engine L', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4},\n ['maneuverspaceenginel'] = {['name'] = 'Maneuver Space Engine L', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4},\n ['militaryspaceenginel'] = {['name'] = 'Military Space Engine L', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4},\n ['safespaceenginel'] = {['name'] = 'Safe Space Engine L', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4},\n ['freightspaceenginexl'] = {['name'] = 'Freight Space Engine XL', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150},\n ['maneuverspaceenginexl'] = {['name'] = 'Maneuver Space Engine XL', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150},\n ['militaryspaceenginexl'] = {['name'] = 'Military Space Engine XL', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150},\n ['safespaceenginexl'] = {['name'] = 'Safe Space Engine XL', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150},\n ['repairunit'] = {['name'] = 'Repair Unit', ['tier'] = 1, ['type'] = 'Combat Element', ['mass'] = 400, ['volume'] = 0},\n ['surrogatepodstation'] = {['name'] = 'Surrogate Pod Station', ['tier'] = 1, ['type'] = 'Surrogate Element', ['mass'] = 569.52, ['volume'] = 360},\n ['surrogatevrstation'] = {['name'] = 'Surrogate VR Station', ['tier'] = 1, ['type'] = 'Surrogate Element', ['mass'] = 742.42, ['volume'] = 360.2}\n}", ··· 384 349 "signature": "start()", 385 350 "slotKey": "-3" 386 351 }, 387 - "key": "24" 388 - }, 389 - { 390 - "code": "--[[\n\tIndustry Icons Library By Baby Dragon (Discord: [BOO] Baby Dragon#6186)\n]]\nIcons_Base_Url = \"assets.prod.novaquark.com/\"\nIcons = {}\nIcons['refiner'] = Icons_Base_Url .. \"94277/0888fb10-596a-44bb-aabc-c560ae38c644.png\"\nIcons['assembly line'] = Icons_Base_Url .. \"94277/6e4b89a5-967f-408d-b15a-d1d011362c99.png\"\nIcons['smelter'] = Icons_Base_Url .. \"94277/8192839e-88e8-45f0-8871-6efa47721dba.png\"\nIcons['chemical industry'] = Icons_Base_Url .. \"94277/9abda2cf-895e-4814-9641-05447d4487e0.png\"\nIcons['electronics industry'] = Icons_Base_Url .. \"30036/8b9b65c4-52d9-474a-bf96-b54484036374.png\"\nIcons['glass furnace'] = Icons_Base_Url .. \"94277/136a6ba3-dbc3-4aed-9095-a3185bb7415f.png\"\nIcons['honeycomb refinery'] = Icons_Base_Url .. \"66035/8daa2d79-7899-425d-82a7-b8296043dd71.png\"\nIcons['recycler'] = Icons_Base_Url .. \"94277/3a0e13ad-4c64-4b3b-9220-9e8784ca88a0.png\"\nIcons['metalwork industry'] = Icons_Base_Url .. \"30036/b560b54b-3cfc-4818-8b19-306d6ec5972d.png\"\nIcons['3d printer'] = Icons_Base_Url .. \"66035/f5a14aaf-4cda-4b20-8685-d74197922f5d.png\"\nIcons['transfer unit'] = Icons_Base_Url .. \"66035/3dce9941-26ab-41ca-90ee-b55975c35a50.png\"\nIcons['container'] = Icons_Base_Url .. \"30036/153c9b47-1065-4ff5-a32e-08fc970ba197.png\"\nIcons['container L'] = Icons_Base_Url .. \"30036/2d99f857-9095-4dc8-8034-48847111904f.png\"\nIcons['container hub'] = Icons_Base_Url .. \"66035/7edb7051-d34a-41da-a100-ba924edc8faf.png\"", 391 - "filter": { 392 - "args": [], 393 - "signature": "start()", 394 - "slotKey": "-3" 395 - }, 396 - "key": "25" 352 + "key": "21" 397 353 } 398 354 ], 399 355 "methods": [],
+34 -34
Master program/source/library/start_1.lua
··· 6 6 bankhub = {} 7 7 8 8 function bankhub:new(banks) 9 - o = {} 10 - setmetatable(o, self); 11 - self.__index = self; 12 - o.banks = banks or {} 9 + o = {} 10 + setmetatable(o, self); 11 + self.__index = self; 12 + o.banks = banks or {} 13 13 14 - -- databank shortcuts to allow in-game syntax. 15 - function o.clear() return o:_clear() end 16 - function o.getNbKeys() return o:_getNbKeys() end 17 - function o.getKeys() return o:_getKeys() end 18 - function o.hasKey(key) return o:_hasKey(key) end 19 - function o.getStringValue(key) return o:_getStringValue(key) end 20 - function o.getIntValue(key) return o:_getIntValue(key) end 21 - function o.getFloatValue(key) return o:_getFloatValue(key) end 14 + -- databank shortcuts to allow in-game syntax. 15 + function o.clear() return o:_clear() end 16 + function o.getNbKeys() return o:_getNbKeys() end 17 + function o.getKeys() return o:_getKeys() end 18 + function o.hasKey(key) return o:_hasKey(key) end 19 + function o.getStringValue(key) return o:_getStringValue(key) end 20 + function o.getIntValue(key) return o:_getIntValue(key) end 21 + function o.getFloatValue(key) return o:_getFloatValue(key) end 22 22 23 - return o 23 + return o 24 24 end 25 25 --- Adds another databank to the raid. 26 26 --- @param object The databank unit to add. 27 27 function bankhub:add(element) 28 - table.insert( self.banks, element) 29 - self.banks_size = #self.banks 28 + table.insert( self.banks, element) 29 + self.banks_size = #self.banks 30 30 end 31 31 --- Clears the databank array 32 32 function bankhub:_clear() 33 - for _,bank in pairs(self.banks) do bank.clear() end 33 + for _,bank in pairs(self.banks) do bank.clear() end 34 34 end 35 35 --- Returns the number of keys in the entire databank table 36 36 --- @return integer number of total keys 37 37 function bankhub:_getNbKeys() 38 - local res = 0 39 - for _,bank in pairs(self.banks) do res = res + bank.getNbKeys() end 40 - return res 38 + local res = 0 39 + for _,bank in pairs(self.banks) do res = res + bank.getNbKeys() end 40 + return res 41 41 end 42 42 43 43 --- Returns all the keys in the databank array ··· 65 65 --- @param string key 66 66 --- @return string returns value or nil 67 67 function bankhub:_getStringValue(key) 68 - for _,bank in pairs(self.banks) do 69 - if (bank.hasKey(key) == 1) then 70 - return bank.getStringValue(key) 68 + for _,bank in pairs(self.banks) do 69 + if (bank.hasKey(key) == 1) then 70 + return bank.getStringValue(key) 71 + end 71 72 end 72 - end 73 - return nil 73 + return nil 74 74 end 75 75 76 76 --- Returns the integer value of the key if existing 77 77 --- @param string key 78 78 --- @return number returns value or nil 79 79 function bankhub:_getIntValue(key) 80 - for _,bank in pairs(self.banks) do 81 - if (bank.hasKey(key) == 1) then 82 - return banks.getIntValue(key) 80 + for _,bank in pairs(self.banks) do 81 + if (bank.hasKey(key) == 1) then 82 + return banks.getIntValue(key) 83 + end 83 84 end 84 - end 85 - return nil 85 + return nil 86 86 end 87 87 88 88 --- Returns the float value of the key if existing 89 89 --- @param string key 90 90 --- @return number returns value or nil 91 91 function bankhub:_getFloatValue(key) 92 - for _,bank in pairs(self.banks) do 93 - if (bank.hasKey(key) == 1) then 94 - return banks.getFloatValue(key) 92 + for _,bank in pairs(self.banks) do 93 + if (bank.hasKey(key) == 1) then 94 + return banks.getFloatValue(key) 95 + end 95 96 end 96 - end 97 - return nil 97 + return nil 98 98 end
+36 -15
Master program/source/library/start_2.lua
··· 31 31 By Jericho 32 32 ]] 33 33 function SecondsToClockString(seconds) 34 - local seconds = tonumber(seconds) 34 + local seconds = tonumber(seconds) 35 + 36 + if seconds == nil or seconds <= 0 then 37 + return "-"; 38 + else 39 + days = string.format("%2.f", math.floor(seconds/(3600*24))); 40 + hours = string.format("%2.f", math.floor(seconds/3600 - (days*24))); 41 + mins = string.format("%2.f", math.floor(seconds/60 - (hours*60) - (days*24*60))); 42 + secs = string.format("%2.f", math.floor(seconds - hours*3600 - (days*24*60*60) - mins *60)); 43 + str = "" 44 + if tonumber(days) > 0 then str = str .. days.."d " end 45 + if tonumber(hours) > 0 then str = str .. hours.."h " end 46 + if tonumber(mins) > 0 then str = str .. mins.."m " end 47 + if tonumber(secs) > 0 then str = str .. secs .."s" end 48 + return str 49 + end 50 + end 51 + 52 + --[[ 53 + remove the quality if exist in a string 54 + ]] 55 + function removeQualityInName(name) 56 + if not name then return '' end 57 + return name:lower():gsub('basic ', ''):gsub('uncommon ', ''):gsub('advanced ', ''):gsub('rare ', ''):gsub('exotic ', '') 58 + end 59 + 60 + --[[ 61 + check if a value exist in a table 62 + ]] 63 + function has_value (tab, val) 64 + for index, value in ipairs(tab) do 65 + if value == val then 66 + return true 67 + end 68 + end 35 69 36 - if seconds == nil or seconds <= 0 then 37 - return "-"; 38 - else 39 - days = string.format("%2.f", math.floor(seconds/(3600*24))); 40 - hours = string.format("%2.f", math.floor(seconds/3600 - (days*24))); 41 - mins = string.format("%2.f", math.floor(seconds/60 - (hours*60) - (days*24*60))); 42 - secs = string.format("%2.f", math.floor(seconds - hours*3600 - (days*24*60*60) - mins *60)); 43 - str = "" 44 - if tonumber(days) > 0 then str = str .. days.."d " end 45 - if tonumber(hours) > 0 then str = str .. hours.."h " end 46 - if tonumber(mins) > 0 then str = str .. mins.."m " end 47 - if tonumber(secs) > 0 then str = str .. secs .."s" end 48 - return str 49 - end 70 + return false 50 71 end
+8 -17
Master program/source/library/start_3.lua
··· 1 1 --[[ 2 - Industry Icons Library By Baby Dragon (Discord: [BOO] Baby Dragon#6186) 2 + Clock script from Leodr, modified and updated by Jericho 3 + original script: https://github.com/leodr99/DU-quick_n_dirty-scripts/blob/main/clock/clock.lua 3 4 ]] 4 - Icons_Base_Url = "assets.prod.novaquark.com/" 5 - Icons = {} 6 - Icons['refiner'] = Icons_Base_Url .. "94277/0888fb10-596a-44bb-aabc-c560ae38c644.png" 7 - Icons['assembly line'] = Icons_Base_Url .. "94277/6e4b89a5-967f-408d-b15a-d1d011362c99.png" 8 - Icons['smelter'] = Icons_Base_Url .. "94277/8192839e-88e8-45f0-8871-6efa47721dba.png" 9 - Icons['chemical industry'] = Icons_Base_Url .. "94277/9abda2cf-895e-4814-9641-05447d4487e0.png" 10 - Icons['electronics industry'] = Icons_Base_Url .. "30036/8b9b65c4-52d9-474a-bf96-b54484036374.png" 11 - Icons['glass furnace'] = Icons_Base_Url .. "94277/136a6ba3-dbc3-4aed-9095-a3185bb7415f.png" 12 - Icons['honeycomb refinery'] = Icons_Base_Url .. "66035/8daa2d79-7899-425d-82a7-b8296043dd71.png" 13 - Icons['recycler'] = Icons_Base_Url .. "94277/3a0e13ad-4c64-4b3b-9220-9e8784ca88a0.png" 14 - Icons['metalwork industry'] = Icons_Base_Url .. "30036/b560b54b-3cfc-4818-8b19-306d6ec5972d.png" 15 - Icons['3d printer'] = Icons_Base_Url .. "66035/f5a14aaf-4cda-4b20-8685-d74197922f5d.png" 16 - Icons['transfer unit'] = Icons_Base_Url .. "66035/3dce9941-26ab-41ca-90ee-b55975c35a50.png" 17 - Icons['container'] = Icons_Base_Url .. "30036/153c9b47-1065-4ff5-a32e-08fc970ba197.png" 18 - Icons['container L'] = Icons_Base_Url .. "30036/2d99f857-9095-4dc8-8034-48847111904f.png" 19 - Icons['container hub'] = Icons_Base_Url .. "66035/7edb7051-d34a-41da-a100-ba924edc8faf.png" 5 + --Globals 6 + local outputTime = false --for debug 7 + local summertime = false --export: summer time enabled 8 + -- 9 + --//functions 10 + function epochTime()function rZ(a)if string.len(a)<=1 then return\"0\"..a else return a end end;function dPoint(b)if not(b==math.floor(b))then return true else return false end end;function lYear(year)if not dPoint(year/4)then if dPoint(year/100)then return true else if not dPoint(year/400)then return true else return false end end else return false end end;local c=5;local d=3600;local e=86400;local f=31536000;local g=31622400;local h=2419200;local i=2505600;local j=2592000;local k=2678400;local l={4,6,9,11}local m={1,3,5,7,8,10,12}local n=0;local o=1506816000;local p={\"Tur,\",\"Fri,\",\"Sat,\",\"Sun,\",\"Mon,\",\"Tue,\",\"Wed,\"}local q=system.getTime()if summertime==true then q=q+3600 end;now=math.floor(q+o)year=1970;secs=0;n=0;while secs+g<now or secs+f<now do if lYear(year+1)then if secs+g<now then secs=secs+g;year=year+1;n=n+366 end else if secs+f<now then secs=secs+f;year=year+1;n=n+365 end end end;secondsRemaining=now-secs;monthSecs=0;yearlYear=lYear(year)month=1;while monthSecs+h<secondsRemaining or monthSecs+j<secondsRemaining or monthSecs+k<secondsRemaining do if month==1 then if monthSecs+k<secondsRemaining then month=2;monthSecs=monthSecs+k;n=n+31 else break end end;if month==2 then if not yearlYear then if monthSecs+h<secondsRemaining then month=3;monthSecs=monthSecs+h;n=n+28 else break end else if monthSecs+i<secondsRemaining then month=3;monthSecs=monthSecs+i;n=n+29 else break end end end;if month==3 then if monthSecs+k<secondsRemaining then month=4;monthSecs=monthSecs+k;n=n+31 else break end end;if month==4 then if monthSecs+j<secondsRemaining then month=5;monthSecs=monthSecs+j;n=n+30 else break end end;if month==5 then if monthSecs+k<secondsRemaining then month=6;monthSecs=monthSecs+k;n=n+31 else break end end;if month==6 then if monthSecs+j<secondsRemaining then month=7;monthSecs=monthSecs+j;n=n+30 else break end end;if month==7 then if monthSecs+k<secondsRemaining then month=8;monthSecs=monthSecs+k;n=n+31 else break end end;if month==8 then if monthSecs+k<secondsRemaining then month=9;monthSecs=monthSecs+k;n=n+31 else break end end;if month==9 then if monthSecs+j<secondsRemaining then month=10;monthSecs=monthSecs+j;n=n+30 else break end end;if month==10 then if monthSecs+k<secondsRemaining then month=11;monthSecs=monthSecs+k;n=n+31 else break end end;if month==11 then if monthSecs+j<secondsRemaining then month=12;monthSecs=monthSecs+j;n=n+30 else break end end end;day=1;daySecs=0;daySecsRemaining=secondsRemaining-monthSecs;while daySecs+e<daySecsRemaining do day=day+1;daySecs=daySecs+e;n=n+1 end;hour=0;hourSecs=0;hourSecsRemaining=daySecsRemaining-daySecs;while hourSecs+d<hourSecsRemaining do hour=hour+1;hourSecs=hourSecs+d end;minute=0;minuteSecs=0;minuteSecsRemaining=hourSecsRemaining-hourSecs;while minuteSecs+60<minuteSecsRemaining do minute=minute+1;minuteSecs=minuteSecs+60 end;second=math.floor(now%60)year=rZ(year)month=rZ(month)day=rZ(day)hour=rZ(hour)minute=rZ(minute)second=rZ(second)remanderForDOW=n%7;DOW=p[remanderForDOW]if outputTime then str=\"Year: \"..year..\", Month: \"..month..\", Day: \"..day..\", Hour: \"..hour..\", Minute: \"..minute..\", Second: \"..second..\", Day of Week: \"..DOW;system.print(str)end;return year,month,day,hour,minute,second,DOW end
+917 -8
Master program/source/library/start_4.lua
··· 1 1 --[[ 2 - Clock script from Leodr, modified and updated by Jericho 3 - original script: https://github.com/leodr99/DU-quick_n_dirty-scripts/blob/main/clock/clock.lua 2 + All Games Recipes in a table 3 + Based on the public script published by D.Mentia on Discord 4 + Updated By Glorek and Jericho 4 5 ]] 5 - --Globals 6 - local outputTime = false --for debug 7 - local summertime = false --export: summer time enabled 8 - -- 9 - --//functions 10 - function epochTime()function rZ(a)if string.len(a)<=1 then return"0"..a else return a end end;function dPoint(b)if not(b==math.floor(b))then return true else return false end end;function lYear(year)if not dPoint(year/4)then if dPoint(year/100)then return true else if not dPoint(year/400)then return true else return false end end else return false end end;local c=5;local d=3600;local e=86400;local f=31536000;local g=31622400;local h=2419200;local i=2505600;local j=2592000;local k=2678400;local l={4,6,9,11}local m={1,3,5,7,8,10,12}local n=0;local o=1506816000;local p={"Tur,","Fri,","Sat,","Sun,","Mon,","Tue,","Wed,"}local q=system.getTime()if summertime==true then q=q+3600 end;now=math.floor(q+o)year=1970;secs=0;n=0;while secs+g<now or secs+f<now do if lYear(year+1)then if secs+g<now then secs=secs+g;year=year+1;n=n+366 end else if secs+f<now then secs=secs+f;year=year+1;n=n+365 end end end;secondsRemaining=now-secs;monthSecs=0;yearlYear=lYear(year)month=1;while monthSecs+h<secondsRemaining or monthSecs+j<secondsRemaining or monthSecs+k<secondsRemaining do if month==1 then if monthSecs+k<secondsRemaining then month=2;monthSecs=monthSecs+k;n=n+31 else break end end;if month==2 then if not yearlYear then if monthSecs+h<secondsRemaining then month=3;monthSecs=monthSecs+h;n=n+28 else break end else if monthSecs+i<secondsRemaining then month=3;monthSecs=monthSecs+i;n=n+29 else break end end end;if month==3 then if monthSecs+k<secondsRemaining then month=4;monthSecs=monthSecs+k;n=n+31 else break end end;if month==4 then if monthSecs+j<secondsRemaining then month=5;monthSecs=monthSecs+j;n=n+30 else break end end;if month==5 then if monthSecs+k<secondsRemaining then month=6;monthSecs=monthSecs+k;n=n+31 else break end end;if month==6 then if monthSecs+j<secondsRemaining then month=7;monthSecs=monthSecs+j;n=n+30 else break end end;if month==7 then if monthSecs+k<secondsRemaining then month=8;monthSecs=monthSecs+k;n=n+31 else break end end;if month==8 then if monthSecs+k<secondsRemaining then month=9;monthSecs=monthSecs+k;n=n+31 else break end end;if month==9 then if monthSecs+j<secondsRemaining then month=10;monthSecs=monthSecs+j;n=n+30 else break end end;if month==10 then if monthSecs+k<secondsRemaining then month=11;monthSecs=monthSecs+k;n=n+31 else break end end;if month==11 then if monthSecs+j<secondsRemaining then month=12;monthSecs=monthSecs+j;n=n+30 else break end end end;day=1;daySecs=0;daySecsRemaining=secondsRemaining-monthSecs;while daySecs+e<daySecsRemaining do day=day+1;daySecs=daySecs+e;n=n+1 end;hour=0;hourSecs=0;hourSecsRemaining=daySecsRemaining-daySecs;while hourSecs+d<hourSecsRemaining do hour=hour+1;hourSecs=hourSecs+d end;minute=0;minuteSecs=0;minuteSecsRemaining=hourSecsRemaining-hourSecs;while minuteSecs+60<minuteSecsRemaining do minute=minute+1;minuteSecs=minuteSecs+60 end;second=math.floor(now%60)year=rZ(year)month=rZ(month)day=rZ(day)hour=rZ(hour)minute=rZ(minute)second=rZ(second)remanderForDOW=n%7;DOW=p[remanderForDOW]if outputTime then str="Year: "..year..", Month: "..month..", Day: "..day..", Hour: "..hour..", Minute: "..minute..", Second: "..second..", Day of Week: "..DOW;system.print(str)end;return year,month,day,hour,minute,second,DOW end 6 + 7 + -- clean the name from specific char, etc. 8 + function cleanName(name) 9 + if name ~= nil and name:len() > 0 then 10 + name = string.gsub(name:lower(), "-", "") 11 + else 12 + name = "unknown" 13 + end 14 + return name:gsub("%s+", "") 15 + end 16 + 17 + -- return an ingredient fron it's name 18 + function getIngredient(name) 19 + local cleanname = "unknown" 20 + if name ~= nil and name:len() > 0 then 21 + cleanname = cleanName(name) 22 + end 23 + local ingredient = Ingredients[cleanname] 24 + if not ingredient and cleanname:find('pure') then 25 + ingredient = Ingredients['pure' .. cleanname:gsub('pure', '')] 26 + end 27 + if not ingredient then 28 + for key,value in pairs(Ingredients) do 29 + if key:find(cleanname) then 30 + ingredient = value 31 + break 32 + end 33 + end 34 + end 35 + if not ingredient then 36 + --system.print('Error [Ingredient not found]: '..name) 37 + ingredient = Ingredients['unknown'] 38 + end 39 + return ingredient 40 + end 41 + 42 + Ingredients = { 43 + ['unknown'] = {['name'] = 'unknown', ['tier'] = 1, ['type'] = 'error', ['mass'] = 1, ['volume'] = 1}, 44 + ['bauxite'] = {['name'] = 'Bauxite', ['tier'] = 1, ['type'] = 'Ore', ['mass'] = 1.28, ['volume'] = 1}, 45 + ['coal'] = {['name'] = 'Coal', ['tier'] = 1, ['type'] = 'Ore', ['mass'] = 1.35, ['volume'] = 1}, 46 + ['quartz'] = {['name'] = 'Quartz', ['tier'] = 1, ['type'] = 'Ore', ['mass'] = 2.65, ['volume'] = 1}, 47 + ['hematite'] = {['name'] = 'Hematite', ['tier'] = 1, ['type'] = 'Ore', ['mass'] = 5.04, ['volume'] = 1}, 48 + ['chromite'] = {['name'] = 'Chromite', ['tier'] = 2, ['type'] = 'Ore', ['mass'] = 4.54, ['volume'] = 1}, 49 + ['malachite'] = {['name'] = 'Malachite', ['tier'] = 2, ['type'] = 'Ore', ['mass'] = 4, ['volume'] = 1}, 50 + ['limestone'] = {['name'] = 'Limestone', ['tier'] = 2, ['type'] = 'Ore', ['mass'] = 2.71, ['volume'] = 1}, 51 + ['natron'] = {['name'] = 'Natron', ['tier'] = 2, ['type'] = 'Ore', ['mass'] = 1.55, ['volume'] = 1}, 52 + ['petalite'] = {['name'] = 'Petalite', ['tier'] = 3, ['type'] = 'Ore', ['mass'] = 2.41, ['volume'] = 1}, 53 + ['garnierite'] = {['name'] = 'Garnierite', ['tier'] = 3, ['type'] = 'Ore', ['mass'] = 2.6, ['volume'] = 1}, 54 + ['acanthite'] = {['name'] = 'Acanthite', ['tier'] = 3, ['type'] = 'Ore', ['mass'] = 7.2, ['volume'] = 1}, 55 + ['pyrite'] = {['name'] = 'Pyrite', ['tier'] = 3, ['type'] = 'Ore', ['mass'] = 5.01, ['volume'] = 1}, 56 + ['cobaltite'] = {['name'] = 'Cobaltite', ['tier'] = 4, ['type'] = 'Ore', ['mass'] = 6.33, ['volume'] = 1}, 57 + ['cryolite'] = {['name'] = 'Cryolite', ['tier'] = 4, ['type'] = 'Ore', ['mass'] = 2.95, ['volume'] = 1}, 58 + ['kolbeckite'] = {['name'] = 'Kolbeckite', ['tier'] = 4, ['type'] = 'Ore', ['mass'] = 2.37, ['volume'] = 1}, 59 + ['goldnuggets'] = {['name'] = 'Gold Nuggets', ['tier'] = 4, ['type'] = 'Ore', ['mass'] = 19.3, ['volume'] = 1}, 60 + ['rhodonite'] = {['name'] = 'Rhodonite', ['tier'] = 5, ['type'] = 'Ore', ['mass'] = 3.76, ['volume'] = 1}, 61 + ['columbite'] = {['name'] = 'Columbite', ['tier'] = 5, ['type'] = 'Ore', ['mass'] = 5.38, ['volume'] = 1}, 62 + ['illmenite'] = {['name'] = 'Illmenite', ['tier'] = 5, ['type'] = 'Ore', ['mass'] = 4.55, ['volume'] = 1}, 63 + ['vanadinite'] = {['name'] = 'Vanadinite', ['tier'] = 5, ['type'] = 'Ore', ['mass'] = 6.95, ['volume'] = 1}, 64 + ['pureoxygen'] = {['name'] = 'Pure Oxygen', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 1, ['volume'] = 1}, 65 + ['purehydrogen'] = {['name'] = 'Pure Hydrogen', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 0.07, ['volume'] = 1}, 66 + ['purealuminium'] = {['name'] = 'Pure Aluminium', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 2.7, ['volume'] = 1}, 67 + ['purecarbon'] = {['name'] = 'Pure Carbon', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 2.27, ['volume'] = 1}, 68 + ['puresilicon'] = {['name'] = 'Pure Silicon', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 2.33, ['volume'] = 1}, 69 + ['pureiron'] = {['name'] = 'Pure Iron', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 7.85, ['volume'] = 1}, 70 + ['purecalcium'] = {['name'] = 'Pure Calcium', ['tier'] = 2, ['type'] = 'Pure', ['mass'] = 1.55, ['volume'] = 1}, 71 + ['purechromium'] = {['name'] = 'Pure Chromium', ['tier'] = 2, ['type'] = 'Pure', ['mass'] = 7.19, ['volume'] = 1}, 72 + ['purecopper'] = {['name'] = 'Pure Copper', ['tier'] = 2, ['type'] = 'Pure', ['mass'] = 8.96, ['volume'] = 1}, 73 + ['puresodium'] = {['name'] = 'Pure Sodium', ['tier'] = 2, ['type'] = 'Pure', ['mass'] = 0.97, ['volume'] = 1}, 74 + ['purelithium'] = {['name'] = 'Pure Lithium', ['tier'] = 3, ['type'] = 'Pure', ['mass'] = 0.53, ['volume'] = 1}, 75 + ['purenickel'] = {['name'] = 'Pure Nickel', ['tier'] = 3, ['type'] = 'Pure', ['mass'] = 8.91, ['volume'] = 1}, 76 + ['puresilver'] = {['name'] = 'Pure Silver', ['tier'] = 3, ['type'] = 'Pure', ['mass'] = 10.49, ['volume'] = 1}, 77 + ['puresulfur'] = {['name'] = 'Pure Sulfur', ['tier'] = 3, ['type'] = 'Pure', ['mass'] = 1.82, ['volume'] = 1}, 78 + ['purecobalt'] = {['name'] = 'Pure Cobalt', ['tier'] = 4, ['type'] = 'Pure', ['mass'] = 8.9, ['volume'] = 1}, 79 + ['purefluorine'] = {['name'] = 'Pure Fluorine', ['tier'] = 4, ['type'] = 'Pure', ['mass'] = 1.7, ['volume'] = 1}, 80 + ['puregold'] = {['name'] = 'Pure Gold', ['tier'] = 4, ['type'] = 'Pure', ['mass'] = 19.3, ['volume'] = 1}, 81 + ['purescandium'] = {['name'] = 'Pure Scandium', ['tier'] = 4, ['type'] = 'Pure', ['mass'] = 2.98, ['volume'] = 1}, 82 + ['puremanganese'] = {['name'] = 'Pure Manganese', ['tier'] = 5, ['type'] = 'Pure', ['mass'] = 7.21, ['volume'] = 1}, 83 + ['pureniobium'] = {['name'] = 'Pure Niobium', ['tier'] = 5, ['type'] = 'Pure', ['mass'] = 8.57, ['volume'] = 1}, 84 + ['puretitanium'] = {['name'] = 'Pure Titanium', ['tier'] = 5, ['type'] = 'Pure', ['mass'] = 4.51, ['volume'] = 1}, 85 + ['purevanadium'] = {['name'] = 'Pure Vanadium', ['tier'] = 5, ['type'] = 'Pure', ['mass'] = 6, ['volume'] = 1}, 86 + ['catalyst3'] = {['name'] = 'Catalyst 3', ['tier'] = 3, ['type'] = 'Catalyst', ['mass'] = 649.39, ['volume'] = 1}, 87 + ['catalyst4'] = {['name'] = 'Catalyst 4', ['tier'] = 4, ['type'] = 'Catalyst', ['mass'] = 606.65, ['volume'] = 1}, 88 + ['catalyst5'] = {['name'] = 'Catalyst 5', ['tier'] = 5, ['type'] = 'Catalyst', ['mass'] = 657.68, ['volume'] = 1}, 89 + ['nitronfuel'] = {['name'] = 'Nitron Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 4, ['volume'] = 1}, 90 + ['kergonx1fuel'] = {['name'] = 'Kergon-X1 Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 6, ['volume'] = 1}, 91 + ['kergonx2fuel'] = {['name'] = 'Kergon-X2 Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 6, ['volume'] = 1}, 92 + ['kergonx3fuel'] = {['name'] = 'Kergon-X3 Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 6, ['volume'] = 1}, 93 + ['kergonx4fuel'] = {['name'] = 'Kergon-X4 Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 6, ['volume'] = 1}, 94 + ['xeronfuel'] = {['name'] = 'Xeron Fuel', ['tier'] = 2, ['type'] = 'Fuel', ['mass'] = 0.8, ['volume'] = 1}, 95 + ['alfealloy'] = {['name'] = 'Al-Fe Alloy', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 7.5, ['volume'] = 1}, 96 + ['allialloy'] = {['name'] = 'Al-Li Alloy', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 2.5, ['volume'] = 1}, 97 + ['calciumreinforcedcopper'] = {['name'] = 'Calcium Reinforced Copper', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 8.1, ['volume'] = 1}, 98 + ['cuagalloy'] = {['name'] = 'Cu-Ag Alloy', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 9.2, ['volume'] = 1}, 99 + ['duralumin'] = {['name'] = 'Duralumin', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 2.8, ['volume'] = 1}, 100 + ['grade5titaniumalloy'] = {['name'] = 'Grade 5 Titanium Alloy', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 4.43, ['volume'] = 1}, 101 + ['inconel'] = {['name'] = 'Inconel', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 8.5, ['volume'] = 1}, 102 + ['mangalloy'] = {['name'] = 'Mangalloy', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 7.83, ['volume'] = 1}, 103 + ['maragingsteel'] = {['name'] = 'Maraging Steel', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 8.23, ['volume'] = 1}, 104 + ['redgold'] = {['name'] = 'Red Gold', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 14.13, ['volume'] = 1}, 105 + ['scalalloy'] = {['name'] = 'Sc-Al Alloy', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 2.85, ['volume'] = 1}, 106 + ['stainlesssteel'] = {['name'] = 'Stainless Steel', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 7.75, ['volume'] = 1}, 107 + ['tinbsupraconductor'] = {['name'] = 'Ti-Nb Supraconductor', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 10.1, ['volume'] = 1}, 108 + ['biologicalmatter'] = {['name'] = 'Biological Matter', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 1, ['volume'] = 1}, 109 + ['brick'] = {['name'] = 'Brick', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 1.92, ['volume'] = 1}, 110 + ['marble'] = {['name'] = 'Marble', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 2.7, ['volume'] = 1}, 111 + ['concrete'] = {['name'] = 'Concrete', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 2.41, ['volume'] = 1}, 112 + ['carbonfiber'] = {['name'] = 'Carbon Fiber', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 1.5, ['volume'] = 1}, 113 + ['glass'] = {['name'] = 'Glass', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 2.5, ['volume'] = 1}, 114 + ['advancedglass'] = {['name'] = 'Advanced Glass', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 2.6, ['volume'] = 1}, 115 + ['aglireinforcedglass'] = {['name'] = 'Ag-Li Reinforced Glass', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 2.8, ['volume'] = 1}, 116 + ['goldcoatedglass'] = {['name'] = 'Gold Coated Glass', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 3, ['volume'] = 1}, 117 + ['manganesereinforcedglass'] = {['name'] = 'Manganese Reinforced Glass', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 2.9, ['volume'] = 1}, 118 + ['polycarbonateplastic'] = {['name'] = 'Polycarbonate Plastic', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 1.4, ['volume'] = 1}, 119 + ['polycalciteplastic'] = {['name'] = 'Polycalcite Plastic', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 1.5, ['volume'] = 1}, 120 + ['polysulfideplastic'] = {['name'] = 'Polysulfide Plastic', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 1.6, ['volume'] = 1}, 121 + ['fluoropolymer'] = {['name'] = 'Fluoropolymer', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 1.65, ['volume'] = 1}, 122 + ['vanamer'] = {['name'] = 'Vanamer', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 1.57, ['volume'] = 1}, 123 + ['silumin'] = {['name'] = 'Silumin', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 3, ['volume'] = 1}, 124 + ['steel'] = {['name'] = 'Steel', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 8.05, ['volume'] = 1}, 125 + ['wood'] = {['name'] = 'Wood', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 0.6, ['volume'] = 1}, 126 + ['basiccomponent'] = {['name'] = 'Basic Component', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 2.25, ['volume'] = 0.5}, 127 + ['uncommoncomponent'] = {['name'] = 'Uncommon Component', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 2.34, ['volume'] = 0.8}, 128 + ['advancedcomponent'] = {['name'] = 'Advanced Component', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 2.51, ['volume'] = 0.8}, 129 + ['basicconnector'] = {['name'] = 'Basic Connector', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 3.75, ['volume'] = 0.8}, 130 + ['uncommonconnector'] = {['name'] = 'Uncommon Connector', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 3.9, ['volume'] = 0.8}, 131 + ['advancedconnector'] = {['name'] = 'Advanced Connector', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 4.18, ['volume'] = 0.8}, 132 + ['basicfixation'] = {['name'] = 'Basic Fixation', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 1.12, ['volume'] = 1}, 133 + ['uncommonfixation'] = {['name'] = 'Uncommon Fixation', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 1.16, ['volume'] = 1}, 134 + ['advancedfixation'] = {['name'] = 'Advanced Fixation', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 1.21, ['volume'] = 1}, 135 + ['basicled'] = {['name'] = 'Basic LED', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 1.25, ['volume'] = 1}, 136 + ['uncommonled'] = {['name'] = 'Uncommon LED', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 1.27, ['volume'] = 1}, 137 + ['advancedled'] = {['name'] = 'Advanced LED', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 1.32, ['volume'] = 1}, 138 + ['basicpipe'] = {['name'] = 'Basic Pipe', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 2.4, ['volume'] = 1}, 139 + ['uncommonpipe'] = {['name'] = 'Uncommon Pipe', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 2.32, ['volume'] = 1}, 140 + ['advancedpipe'] = {['name'] = 'Advanced Pipe', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 2.19, ['volume'] = 1}, 141 + ['basicscrew'] = {['name'] = 'Basic Screw', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 8.05, ['volume'] = 1}, 142 + ['uncommonscrew'] = {['name'] = 'Uncommon Screw', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 7.9, ['volume'] = 1}, 143 + ['advancedscrew'] = {['name'] = 'Advanced Screw', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 8.14, ['volume'] = 1}, 144 + ['basicantimattercapsule'] = {['name'] = 'Basic Anti-Matter Capsule', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 24, ['volume'] = 4.6}, 145 + ['uncommonantimattercapsule'] = {['name'] = 'Uncommon Anti-Matter Capsule', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 24.32, ['volume'] = 4.6}, 146 + ['advancedantimattercapsule'] = {['name'] = 'Advanced Anti-Matter Capsule', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 24.88, ['volume'] = 4.6}, 147 + ['rareantimattercapsule'] = {['name'] = 'Rare Anti-Matter Capsule', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 25.8, ['volume'] = 4.6}, 148 + ['exoticantimattercapsule'] = {['name'] = 'Exotic Anti-Matter Capsule', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 26.73, ['volume'] = 4.6}, 149 + ['basicburner'] = {['name'] = 'Basic Burner', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 50.2, ['volume'] = 10}, 150 + ['uncommonburner'] = {['name'] = 'Uncommon Burner', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 49.4, ['volume'] = 10}, 151 + ['advancedburner'] = {['name'] = 'Advanced Burner', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 48.5, ['volume'] = 10}, 152 + ['basicelectronics'] = {['name'] = 'Basic Electronics', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 5.22, ['volume'] = 4}, 153 + ['uncommonelectronics'] = {['name'] = 'Uncommon Electronics', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 5.34, ['volume'] = 4}, 154 + ['advancedelectronics'] = {['name'] = 'Advanced Electronics', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 5.45, ['volume'] = 4}, 155 + ['rareelectronics'] = {['name'] = 'Rare Electronics', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 5.63, ['volume'] = 4}, 156 + ['exoticelectronics'] = {['name'] = 'Exotic Electronics', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 5.77, ['volume'] = 4}, 157 + ['basicexplosivemodule'] = {['name'] = 'Basic Explosive Module', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 18.72, ['volume'] = 4.6}, 158 + ['uncommonexplosivemodule'] = {['name'] = 'Uncommon Explosive Module', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 19.04, ['volume'] = 4.6}, 159 + ['advancedexplosivemodule'] = {['name'] = 'Advanced Explosive Module', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 19.04, ['volume'] = 4.6}, 160 + ['basichydraulics'] = {['name'] = 'Basic Hydraulics', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 28.95, ['volume'] = 10}, 161 + ['uncommonhydraulics'] = {['name'] = 'Uncommon Hydraulics', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 28.35, ['volume'] = 10}, 162 + ['advancedhydraulics'] = {['name'] = 'Advanced Hydraulics', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 29.02, ['volume'] = 10}, 163 + ['basicinjector'] = {['name'] = 'Basic Injector', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 20.3, ['volume'] = 10}, 164 + ['uncommoninjector'] = {['name'] = 'Uncommon Injector', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 20.5, ['volume'] = 10}, 165 + ['advancedinjector'] = {['name'] = 'Advanced Injector', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 20.45, ['volume'] = 10}, 166 + ['basicmagnet'] = {['name'] = 'Basic Magnet', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 63.3, ['volume'] = 7.36}, 167 + ['uncommonmagnet'] = {['name'] = 'Uncommon Magnet', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 62.1, ['volume'] = 7.36}, 168 + ['advancedmagnet'] = {['name'] = 'Advanced Magnet', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 63.89, ['volume'] = 7.36}, 169 + ['raremagnet'] = {['name'] = 'Rare Magnet', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 64.4, ['volume'] = 7.36}, 170 + ['exoticmagnet'] = {['name'] = 'Exotic Magnet', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 65.13, ['volume'] = 7.36}, 171 + ['basicoptics'] = {['name'] = 'Basic Optics', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 9.74, ['volume'] = 10}, 172 + ['uncommonoptics'] = {['name'] = 'Uncommon Optics', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 9.94, ['volume'] = 10}, 173 + ['advancedoptics'] = {['name'] = 'Advanced Optics', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 10.18, ['volume'] = 10}, 174 + ['rareoptics'] = {['name'] = 'Rare Optics', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 10.7, ['volume'] = 10}, 175 + ['basicpowersystem'] = {['name'] = 'Basic Power System', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 60, ['volume'] = 9.2}, 176 + ['uncommonpowersystem'] = {['name'] = 'Uncommon Power System', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 62.4, ['volume'] = 9.2}, 177 + ['advancedpowersystem'] = {['name'] = 'Advanced Power System', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 64.9, ['volume'] = 9.2}, 178 + ['rarepowersystem'] = {['name'] = 'Rare Power System', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 78.31, ['volume'] = 9.2}, 179 + ['exoticpowersystem'] = {['name'] = 'Exotic Power System', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 82.87, ['volume'] = 9.2}, 180 + ['basicprocessor'] = {['name'] = 'Basic Processor', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 14.84, ['volume'] = 5}, 181 + ['uncommonprocessor'] = {['name'] = 'Uncommon Processor', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 15.56, ['volume'] = 5}, 182 + ['advancedprocessor'] = {['name'] = 'Advanced Processor', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 15.56, ['volume'] = 5}, 183 + ['exoticprocessor'] = {['name'] = 'Exotic Processor', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 21.47, ['volume'] = 5}, 184 + ['basicquantumcoreunit'] = {['name'] = 'Basic Quantum Core Unit', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 10.72, ['volume'] = 5}, 185 + ['uncommonquantumcoreunit'] = {['name'] = 'Uncommon Quantum Core', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 11.04, ['volume'] = 5}, 186 + ['advancedquantumcoreunit'] = {['name'] = 'Advanced Quantum Core', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 11.24, ['volume'] = 5}, 187 + ['rarequantumcore'] = {['name'] = 'Rare Quantum Core', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 11.66, ['volume'] = 5}, 188 + ['exoticquantumcore'] = {['name'] = 'Exotic Quantum Core', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 11.66, ['volume'] = 5}, 189 + ['basicsingularitycontainer'] = {['name'] = 'Basic Singularity Container', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 45.36, ['volume'] = 4}, 190 + ['uncommonsingularitycontainer'] = {['name'] = 'Uncommon Singularity Container', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 44.88, ['volume'] = 4}, 191 + ['advancedsingularitycontainer'] = {['name'] = 'Advanced Singularity Container', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 46.22, ['volume'] = 4}, 192 + ['raresingularitycontainer'] = {['name'] = 'Rare Singularity Container', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 46.58, ['volume'] = 4}, 193 + ['exoticsingularitycontainer'] = {['name'] = 'Exotic Singularity Container', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 46.98, ['volume'] = 4}, 194 + ['uncommonsolidwarhead'] = {['name'] = 'Uncommon Solid Warhead', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 45.36, ['volume'] = 5}, 195 + ['advancedsolidwarhead'] = {['name'] = 'Advanced Solid Warhead', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 46.43, ['volume'] = 5}, 196 + ['advancedantigravitycore'] = {['name'] = 'Advanced Anti-Gravity Core', ['tier'] = 3, ['type'] = 'Exceptional Part', ['mass'] = 117.05, ['volume'] = 20}, 197 + ['rareantigravitycore'] = {['name'] = 'Rare Anti-Gravity Core', ['tier'] = 4, ['type'] = 'Exceptional Part', ['mass'] = 123.22, ['volume'] = 22.5}, 198 + ['exoticantigravitycore'] = {['name'] = 'Exotic Anti-Gravity Core', ['tier'] = 5, ['type'] = 'Exceptional Part', ['mass'] = 133.06, ['volume'] = 25}, 199 + ['advancedquantumalignmentunit'] = {['name'] = 'Advanced Quantum Alignment Unit', ['tier'] = 3, ['type'] = 'Exceptional Part', ['mass'] = 35.78, ['volume'] = 25}, 200 + ['exoticquantumalignmentunit'] = {['name'] = 'Exotic Quantum Alignment Unit', ['tier'] = 5, ['type'] = 'Exceptional Part', ['mass'] = 43.24, ['volume'] = 30}, 201 + ['advancedquantumbarrier'] = {['name'] = 'Advanced Quantum Barrier', ['tier'] = 3, ['type'] = 'Exceptional Part', ['mass'] = 43.38, ['volume'] = 25}, 202 + ['advancedantimattercoreunit'] = {['name'] = 'Advanced Anti-Matter Core Unit', ['tier'] = 3, ['type'] = 'Exceptional Part', ['mass'] = 107.08, ['volume'] = 21.5}, 203 + ['exoticantimattercoreunit'] = {['name'] = 'Exotic Anti-Matter Core Unit', ['tier'] = 5, ['type'] = 'Exceptional Part', ['mass'] = 158.05, ['volume'] = 26.5}, 204 + ['basicantennaxs'] = {['name'] = 'Basic Antenna XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 60.44, ['volume'] = 8.96}, 205 + ['basicantennas'] = {['name'] = 'Basic Antenna S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 314.2, ['volume'] = 46.4}, 206 + ['uncommonantennaxs'] = {['name'] = 'Uncommon Antenna XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 117.16, ['volume'] = 17.12}, 207 + ['uncommonantennas'] = {['name'] = 'Uncommon Antenna S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 379.2, ['volume'] = 54.56}, 208 + ['uncommonantennam'] = {['name'] = 'Uncommon Antenna M', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 1770, ['volume'] = 251.36}, 209 + ['uncommonantennal'] = {['name'] = 'Uncommon Antenna L', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 9240, ['volume'] = 1302.56}, 210 + ['advancedantennas'] = {['name'] = 'Advanced Antenna S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 389.74, ['volume'] = 54.56}, 211 + ['exoticantennam'] = {['name'] = 'Exotic Antenna M', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 2140, ['volume'] = 250.56}, 212 + ['exoticantennal'] = {['name'] = 'Exotic Antenna L', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 11250, ['volume'] = 1301.76}, 213 + ['exoticantennaxl'] = {['name'] = 'Exotic Antenna XL', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 61580, ['volume'] = 7028.16}, 214 + ['basicchemicalcontainerxs'] = {['name'] = 'Basic Chemical Container XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 8.13, ['volume'] = 4.8}, 215 + ['basicchemicalcontainers'] = {['name'] = 'Basic Chemical Container S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 43.67, ['volume'] = 25.6}, 216 + ['basicchemicalcontainerm'] = {['name'] = 'Basic Chemical Container M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 239.38, ['volume'] = 139.2}, 217 + ['basicchemicalcontainerl'] = {['name'] = 'Basic Chemical Container L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1340, ['volume'] = 774.4}, 218 + ['basicchemicalcontainerxl'] = {['name'] = 'Basic Chemical Container XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 7750, ['volume'] = 4420.8}, 219 + ['advancedchemicalcontainers'] = {['name'] = 'Advanced Chemical Container S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 48.85, ['volume'] = 29.6}, 220 + ['advancedchemicalcontainerm'] = {['name'] = 'Advanced Chemical Container M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 235.25, ['volume'] = 143.2}, 221 + ['advancedchemicalcontainerl'] = {['name'] = 'Advanced Chemical Container L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1270, ['volume'] = 778.4}, 222 + ['advancedchemicalcontainerxl'] = {['name'] = 'Advanced Chemical Container XL', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 7190, ['volume'] = 4424.8}, 223 + ['basiccombustionchamberxs'] = {['name'] = 'Basic Combustion Chamber XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 60.65, ['volume'] = 9.6}, 224 + ['basiccombustionchambers'] = {['name'] = 'Basic Combustion Chamber S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 319.35, ['volume'] = 49.6}, 225 + ['basiccombustionchamberm'] = {['name'] = 'Basic Combustion Chamber M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1710, ['volume'] = 259.2}, 226 + ['basiccombustionchamberl'] = {['name'] = 'Basic Combustion Chamber L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 9340, ['volume'] = 1374.4}, 227 + ['uncommoncombustionchamberxs'] = {['name'] = 'Uncommon Combustion Chamber XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 112.07, ['volume'] = 18.4}, 228 + ['uncommoncombustionchambers'] = {['name'] = 'Uncommon Combustion Chamber S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 366.33, ['volume'] = 58.4}, 229 + ['uncommoncombustionchamberm'] = {['name'] = 'Uncommon Combustion Chamber M', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 1730, ['volume'] = 268}, 230 + ['uncommoncombustionchamberl'] = {['name'] = 'Uncommon Combustion Chamber L', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 9210, ['volume'] = 1383.2}, 231 + ['advancedcombustionchamberxs'] = {['name'] = 'Advanced Combustion Chamber XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 163.51, ['volume'] = 27.2}, 232 + ['advancedcombustionchambers'] = {['name'] = 'Advanced Combustion Chamber S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 369.5, ['volume'] = 58.4}, 233 + ['advancedcombustionchamberm'] = {['name'] = 'Advanced Combustion Chamber M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1760, ['volume'] = 268}, 234 + ['basiccontrolsystemxs'] = {['name'] = 'Basic Control System XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 9.25, ['volume'] = 5.2}, 235 + ['basiccontrolsystems'] = {['name'] = 'Basic Control System S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 47.63, ['volume'] = 27.6}, 236 + ['basiccontrolsystemm'] = {['name'] = 'Basic Control System M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 247.97, ['volume'] = 149.2}, 237 + ['advancedcontrolsystems'] = {['name'] = 'Advanced Control System S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 59.35, ['volume'] = 32}, 238 + ['advancedcontrolsystemm'] = {['name'] = 'Advanced Control System M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 272.97, ['volume'] = 153.6}, 239 + ['advancedcontrolsysteml'] = {['name'] = 'Advanced Control System L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1410, ['volume'] = 828.8}, 240 + ['basiccoreunitsystemxs'] = {['name'] = 'Basic Core System XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 4.43, ['volume'] = 4.4}, 241 + ['basiccoreunitsystems'] = {['name'] = 'Basic Core System S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 23.57, ['volume'] = 23.6}, 242 + ['uncommoncoresystems'] = {['name'] = 'Uncommon Core System S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 28.08, ['volume'] = 27.2}, 243 + ['uncommoncoresystemm'] = {['name'] = 'Uncommon Core System M', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 28.08, ['volume'] = 135.75}, 244 + ['uncommoncoresysteml'] = {['name'] = 'Uncommon Core System L', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 737.1, ['volume'] = 728}, 245 + ['advancedcoresystemm'] = {['name'] = 'Advanced Core System M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 139.61, ['volume'] = 132.8}, 246 + ['rarecoresysteml'] = {['name'] = 'Rare Core System L', ['tier'] = 4, ['type'] = 'Functional Part', ['mass'] = 783.65, ['volume'] = 728}, 247 + ['exoticcoresystems'] = {['name'] = 'Exotic Core System S', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 28.62, ['volume'] = 26.8}, 248 + ['basicelectricengines'] = {['name'] = 'Basic Electric Engine S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 377.75, ['volume'] = 39.04}, 249 + ['basicelectricenginem'] = {['name'] = 'Basic Electric Engine M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1930, ['volume'] = 206.4}, 250 + ['uncommonelectricenginexl'] = {['name'] = 'Uncommon Electric Engine XL', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 50800, ['volume'] = 6107.49}, 251 + ['basicfiringsystemxs'] = {['name'] = 'Basic Firing System XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 60.65, ['volume'] = 9.6}, 252 + ['advancedfiringsystemxs'] = {['name'] = 'Advanced Firing System XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 163.51, ['volume'] = 27.2}, 253 + ['advancedfiringsystems'] = {['name'] = 'Advanced Firing System S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 369.5, ['volume'] = 58.4}, 254 + ['advancedfiringsystemm'] = {['name'] = 'Advanced Firing System M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1760, ['volume'] = 268}, 255 + ['advancedfiringsysteml'] = {['name'] = 'Advanced Firing System L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 9410, ['volume'] = 1383.2}, 256 + ['basicgazcylinderxs'] = {['name'] = 'Basic Gaz Cylinder XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 15.68, ['volume'] = 9.6}, 257 + ['basicgazcylinders'] = {['name'] = 'Basic Gaz Cylinder S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 81.38, ['volume'] = 49.6}, 258 + ['basicgazcylinderm'] = {['name'] = 'Basic Gaz Cylinder M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 427.88, ['volume'] = 259.2}, 259 + ['basicionicchamberxs'] = {['name'] = 'Basic Ionic Chamber XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 75.1, ['volume'] = 7.33}, 260 + ['basicionicchambers'] = {['name'] = 'Basic Ionic Chamber S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 391.6, ['volume'] = 38.24}, 261 + ['basicionicchamberm'] = {['name'] = 'Basic Ionic Chamber M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 2070, ['volume'] = 202.4}, 262 + ['basicionicchamberl'] = {['name'] = 'Basic Ionic Chamber L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1620, ['volume'] = 1090.4}, 263 + ['basicionicchamberxl'] = {['name'] = 'Basic Ionic Chamber XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 61230, ['volume'] = 6000.8}, 264 + ['uncommonionicchamberxs'] = {['name'] = 'Uncommon Ionic Chamber XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 140.8, ['volume'] = 13.86}, 265 + ['uncommonionicchambers'] = {['name'] = 'Uncommon Ionic Chamber S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 452.35, ['volume'] = 44.77}, 266 + ['uncommonionicchamberm'] = {['name'] = 'Uncommon Ionic Chamber M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 2100, ['volume'] = 208.93}, 267 + ['uncommonionicchamberl'] = {['name'] = 'Uncommon Ionic Chamber L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 11010, ['volume'] = 1096.93}, 268 + ['uncommonionicchamberxl'] = {['name'] = 'Uncommon Ionic Chamber XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 60120, ['volume'] = 6007.33}, 269 + ['advancedionicchamberm'] = {['name'] = 'Advanced Ionic Chamber M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 8640, ['volume'] = 208.93}, 270 + ['advancedionicchamberl'] = {['name'] = 'Advanced Ionic Chamber L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 11370, ['volume'] = 1096.93}, 271 + ['uncommonlaserchamberxs'] = {['name'] = 'Uncommon Laser Chamber XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 24.8, ['volume'] = 18.4}, 272 + ['advancedlaserchamberxs'] = {['name'] = 'Advanced Laser Chamber XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 36.51, ['volume'] = 27.2}, 273 + ['advancedlaserchambers'] = {['name'] = 'Advanced Laser Chamber S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 87.02, ['volume'] = 58.4}, 274 + ['advancedlaserchamberm'] = {['name'] = 'Advanced Laser Chamber M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 429.89, ['volume'] = 268}, 275 + ['advancedlaserchamberl'] = {['name'] = 'Advanced Laser Chamber L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 2380, ['volume'] = 1383.2}, 276 + ['rarelaserchambers'] = {['name'] = 'Rare Laser Chamber S', ['tier'] = 4, ['type'] = 'Functional Part', ['mass'] = 90.49, ['volume'] = 58.4}, 277 + ['uncommonlightxs'] = {['name'] = 'Uncommon Light XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 7.84, ['volume'] = 8.8}, 278 + ['uncommonlights'] = {['name'] = 'Uncommon Light S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 28.8, ['volume'] = 29.6}, 279 + ['advancedmagneticrailxs'] = {['name'] = 'Advanced Magnetic Rail XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 204.7, ['volume'] = 20.86}, 280 + ['advancedmagneticrails'] = {['name'] = 'Advanced Magnetic Rail S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 451.89, ['volume'] = 45.73}, 281 + ['advancedmagneticrailm'] = {['name'] = 'Advanced Magnetic Rail M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 2120, ['volume'] = 213.09}, 282 + ['advancedmagneticraill'] = {['name'] = 'Advanced Magnetic Rail L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 11160, ['volume'] = 1117.09}, 283 + ['basicmechanicalsensorxs'] = {['name'] = 'Basic Mechanical Sensor XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 35.96, ['volume'] = 7.49}, 284 + ['advancedmechanicalsensorxs'] = {['name'] = 'Advanced Mechanical Sensor XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 100.99, ['volume'] = 20.86}, 285 + ['exoticmechanicalsensorxs'] = {['name'] = 'Exotic Mechanical Sensor XS', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 102.37, ['volume'] = 19.26}, 286 + ['advancedmissilesiloxs'] = {['name'] = 'Advanced Missile Silo XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 157.51, ['volume'] = 27.2}, 287 + ['advancedmissilesilos'] = {['name'] = 'Advanced Missile Silo S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 327.52, ['volume'] = 58.4}, 288 + ['advancedmissilesilom'] = {['name'] = 'Advanced Missile Silo M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1460, ['volume'] = 268}, 289 + ['advancedmissilesilol'] = {['name'] = 'Advanced Missile Silo L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 7360, ['volume'] = 1383.2}, 290 + ['basicmobilepanelxs'] = {['name'] = 'Basic Mobile Panel XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 20, ['volume'] = 9.6}, 291 + ['basicmobilepanels'] = {['name'] = 'Basic Mobile Panel S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 103, ['volume'] = 49.6}, 292 + ['basicmobilepanelm'] = {['name'] = 'Basic Mobile Panel M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 536, ['volume'] = 259.2}, 293 + ['basicmobilepanell'] = {['name'] = 'Basic Mobile Panel L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 2830, ['volume'] = 1374.4}, 294 + ['basicmobilepanelxl'] = {['name'] = 'Basic Mobile Panel XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 15160, ['volume'] = 7420.8}, 295 + ['advancedmotherboardm'] = {['name'] = 'Advanced Motherboard M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 109.19, ['volume'] = 96}, 296 + ['uncommonorescannerxl'] = {['name'] = 'Uncommon Ore Scanner XL', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 1870, ['volume'] = 2702.9}, 297 + ['basicpowertransformerm'] = {['name'] = 'Basic Power Transformer M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1020, ['volume'] = 196.4}, 298 + ['uncommonpowertransformers'] = {['name'] = 'Uncommon Power Transformer S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 221.56, ['volume'] = 43.33}, 299 + ['uncommonpowertransformerm'] = {['name'] = 'Uncommon Power Transformer M', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 1030, ['volume'] = 202.69}, 300 + ['rarepowertransformerl'] = {['name'] = 'Rare Power Transformer L', ['tier'] = 4, ['type'] = 'Functional Part', ['mass'] = 5570, ['volume'] = 1066.69}, 301 + ['rarepowertransformerxl'] = {['name'] = 'Rare Power Transformer XL', ['tier'] = 4, ['type'] = 'Functional Part', ['mass'] = 30540, ['volume'] = 5857.09}, 302 + ['exoticpowertransformerl'] = {['name'] = 'Exotic Power Transformer L', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 5570, ['volume'] = 1066.29}, 303 + ['basicroboticarmm'] = {['name'] = 'Basic Robotic Arm M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 927, ['volume'] = 249.2}, 304 + ['basicroboticarml'] = {['name'] = 'Basic Robotic Arm L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 4930, ['volume'] = 1324.4}, 305 + ['basicroboticarmxl'] = {['name'] = 'Basic Robotic Arm XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 26700, ['volume'] = 7170.8}, 306 + ['basicscreens'] = {['name'] = 'Basic Screen S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 21.07, ['volume'] = 25.6}, 307 + ['basicscreenm'] = {['name'] = 'Basic Screen M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 115.17, ['volume'] = 139.2}, 308 + ['uncommonscreenxs'] = {['name'] = 'Uncommon Screen XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 7.29, ['volume'] = 8.8}, 309 + ['uncommonscreenl'] = {['name'] = 'Uncommon Screen L', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 671.24, ['volume'] = 778.4}, 310 + ['uncommonscreenxl'] = {['name'] = 'Uncommon Screen XL', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 3860, ['volume'] = 4424.8}, 311 + ['advancedscreenxs'] = {['name'] = 'Advanced Screen XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 10.73, ['volume'] = 12.8}, 312 + ['basiccasingxs'] = {['name'] = 'Basic Casing XS', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 1.4, ['volume'] = 2}, 313 + ['basiccasings'] = {['name'] = 'Basic Casing S', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 7.7, ['volume'] = 11}, 314 + ['basiccasingm'] = {['name'] = 'Basic Casing M', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 51.8, ['volume'] = 74}, 315 + ['basiccasingl'] = {['name'] = 'Basic Casing L', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 360.5, ['volume'] = 515}, 316 + ['uncommoncasingxs'] = {['name'] = 'Uncommon Casing XS', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 1.45, ['volume'] = 2}, 317 + ['uncommoncasings'] = {['name'] = 'Uncommon Casing S', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 8.05, ['volume'] = 1}, 318 + ['uncommoncasingm'] = {['name'] = 'Uncommon Casing M', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 54.25, ['volume'] = 74}, 319 + ['uncommoncasingl'] = {['name'] = 'Uncommon Casing L', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 377.65, ['volume'] = 515}, 320 + ['uncommoncasingxl'] = {['name'] = 'Uncommon Casing XL', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 2640, ['volume'] = 3602}, 321 + ['advancedcasingxs'] = {['name'] = 'Advanced Casing XS', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 1.5, ['volume'] = 2}, 322 + ['advancedcasings'] = {['name'] = 'Advanced Casing S', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 8.4, ['volume'] = 1}, 323 + ['advancedcasingm'] = {['name'] = 'Advanced Casing M', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 56.7, ['volume'] = 74}, 324 + ['advancedcasingl'] = {['name'] = 'Advanced Casing L', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 394.8, ['volume'] = 515}, 325 + ['advancedcasingxl'] = {['name'] = 'Advanced Casing XL', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 2760, ['volume'] = 3602}, 326 + ['rarecasingxs'] = {['name'] = 'Rare Casing XS', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 1.52, ['volume'] = 2}, 327 + ['rarecasings'] = {['name'] = 'Rare Casing S', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 8.57, ['volume'] = 11}, 328 + ['exoticcasings'] = {['name'] = 'Exotic Casing S', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 8.29, ['volume'] = 11}, 329 + ['basicreinforcedframexs'] = {['name'] = 'Basic Reinforced Frame XS', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 12.88, ['volume'] = 2}, 330 + ['basicreinforcedframes'] = {['name'] = 'Basic Reinforced Frame S', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 70.84, ['volume'] = 11}, 331 + ['basicreinforcedframem'] = {['name'] = 'Basic Reinforced Frame M', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 476, ['volume'] = 74}, 332 + ['basicreinforcedframel'] = {['name'] = 'Basic Reinforced Frame L', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 3320, ['volume'] = 515}, 333 + ['basicreinforcedframexl'] = {['name'] = 'Basic Reinforced Frame XL', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 23200, ['volume'] = 3602}, 334 + ['uncommonreinforcedframexs'] = {['name'] = 'Uncommon Reinforced Frame XS', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 12.64, ['volume'] = 2}, 335 + ['uncommonreinforcedframes'] = {['name'] = 'Uncommon Reinforced Frame S', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 69.16, ['volume'] = 11}, 336 + ['uncommonreinforcedframem'] = {['name'] = 'Uncommon Reinforced Frame M', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 464.8, ['volume'] = 74}, 337 + ['uncommonreinforcedframel'] = {['name'] = 'Uncommon Reinforced Frame L', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 3230, ['volume'] = 515}, 338 + ['uncommonreinforcedframexl'] = {['name'] = 'Uncommon Reinforced Frame XL', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 22620, ['volume'] = 3602}, 339 + ['advancedreinforcedframexs'] = {['name'] = 'Advanced Reinforced Frame XS', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 13.24, ['volume'] = 2}, 340 + ['advancedreinforcedframes'] = {['name'] = 'Advanced Reinforced Frame S', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 73.34, ['volume'] = 11}, 341 + ['advancedreinforcedframem'] = {['name'] = 'Advanced Reinforced Frame M', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 494.08, ['volume'] = 74}, 342 + ['advancedreinforcedframel'] = {['name'] = 'Advanced Reinforced Frame L', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 3440, ['volume'] = 515}, 343 + ['rarereinforcedframel'] = {['name'] = 'Rare Reinforced Frame L', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 3370, ['volume'] = 515}, 344 + ['rarereinforcedframexl'] = {['name'] = 'Rare Reinforced Frame XL', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 23540, ['volume'] = 3602}, 345 + ['exoticreinforcedframem'] = {['name'] = 'Exotic Reinforced Frame M', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 468.05, ['volume'] = 74}, 346 + ['exoticreinforcedframel'] = {['name'] = 'Exotic Reinforced Frame L', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 3260, ['volume'] = 515}, 347 + ['exoticreinforcedframexl'] = {['name'] = 'Exotic Reinforced Frame XL', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 22780, ['volume'] = 3602}, 348 + ['basicstandardframexs'] = {['name'] = 'Basic Standard Frame XS', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 4.2, ['volume'] = 2}, 349 + ['basicstandardframes'] = {['name'] = 'Basic Standard Frame S', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 23.1, ['volume'] = 11}, 350 + ['basicstandardframem'] = {['name'] = 'Basic Standard Frame M', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 155.4, ['volume'] = 74}, 351 + ['basicstandardframel'] = {['name'] = 'Basic Standard Frame L', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 1080, ['volume'] = 515}, 352 + ['uncommonstandardframexs'] = {['name'] = 'Uncommon Standard Frame XS', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 4.06, ['volume'] = 2}, 353 + ['uncommonstandardframes'] = {['name'] = 'Uncommon Standard Frame S', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 22.12, ['volume'] = 11}, 354 + ['uncommonstandardframem'] = {['name'] = 'Uncommon Standard Frame M', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 148.54, ['volume'] = 74}, 355 + ['uncommonstandardframel'] = {['name'] = 'Uncommon Standard Frame L', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 1030, ['volume'] = 515}, 356 + ['advancedstandardframexs'] = {['name'] = 'Advanced Standard Frame XS', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 3.85, ['volume'] = 2}, 357 + ['advancedstandardframes'] = {['name'] = 'Advanced Standard Frame S', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 20.65, ['volume'] = 11}, 358 + ['advancedstandardframem'] = {['name'] = 'Advanced Standard Frame M', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 138.25, ['volume'] = 74}, 359 + ['advancedstandardframel'] = {['name'] = 'Advanced Standard Frame L', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 961.45, ['volume'] = 515}, 360 + ['rarestandardframel'] = {['name'] = 'Rare Standard Frame L', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 1050, ['volume'] = 515}, 361 + ['exoticstandardframexs'] = {['name'] = 'Exotic Standard Frame XS', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 5.2, ['volume'] = 2}, 362 + ['exoticstandardframel'] = {['name'] = 'Exotic Standard Frame L', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 1420, ['volume'] = 515}, 363 + ['dynamiccoreunitxs'] = {['name'] = 'Dynamic Core XS', ['tier'] = 1, ['type'] = 'Core Unit', ['mass'] = 70.89, ['volume'] = 16.1}, 364 + ['dynamiccoreunits'] = {['name'] = 'Dynamic Core S', ['tier'] = 2, ['type'] = 'Core Unit', ['mass'] = 375.97, ['volume'] = 87.2}, 365 + ['dynamiccoreunitm'] = {['name'] = 'Dynamic Core M', ['tier'] = 3, ['type'] = 'Core Unit', ['mass'] = 1980, ['volume'] = 454.8}, 366 + ['dynamiccoreunitl'] = {['name'] = 'Dynamic Core L', ['tier'] = 4, ['type'] = 'Core Unit', ['mass'] = 12140, ['volume'] = 2501}, 367 + ['staticcoreunitxs'] = {['name'] = 'Static Core XS', ['tier'] = 1, ['type'] = 'Core Unit', ['mass'] = 70.89, ['volume'] = 16.1}, 368 + ['staticcoreunits'] = {['name'] = 'Static Core S', ['tier'] = 1, ['type'] = 'Core Unit', ['mass'] = 360.18, ['volume'] = 83.6}, 369 + ['staticcoreunitm'] = {['name'] = 'Static Core M', ['tier'] = 2, ['type'] = 'Core Unit', ['mass'] = 1930, ['volume'] = 454.8}, 370 + ['staticcoreunitl'] = {['name'] = 'Static Core L', ['tier'] = 2, ['type'] = 'Core Unit', ['mass'] = 10700, ['volume'] = 2501}, 371 + ['spacecoreunitxs'] = {['name'] = 'Space Core XS', ['tier'] = 1, ['type'] = 'Core Unit', ['mass'] = 38.99, ['volume'] = 14}, 372 + ['spacecoreunits'] = {['name'] = 'Space Core S', ['tier'] = 2, ['type'] = 'Core Unit', ['mass'] = 459.57, ['volume'] = 120}, 373 + ['spacecoreunitm'] = {['name'] = 'Space Core M', ['tier'] = 3, ['type'] = 'Core Unit', ['mass'] = 3040, ['volume'] = 420}, 374 + ['spacecoreunitl'] = {['name'] = 'Space Core L', ['tier'] = 4, ['type'] = 'Core Unit', ['mass'] = 7680, ['volume'] = 1383}, 375 + ['territoryunit'] = {['name'] = 'Territory Unit', ['tier'] = 5, ['type'] = 'Core Unit', ['mass'] = 20050, ['volume'] = 4118.29}, 376 + ['containerhub'] = {['name'] = 'Container Hub', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 55.8, ['volume'] = 44.3}, 377 + ['containerxs'] = {['name'] = 'Container XS', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 229.09, ['volume'] = 64}, 378 + ['containers'] = {['name'] = 'Container S', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 1281.31, ['volume'] = 342}, 379 + ['containerm'] = {['name'] = 'Container M', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 7421.35, ['volume'] = 1873}, 380 + ['containerl'] = {['name'] = 'Container L', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 14842.7, ['volume'] = 3746}, 381 + ['dispenser'] = {['name'] = 'Dispenser', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 2060, ['volume'] = 479.2}, 382 + ['atmosphericfueltankxs'] = {['name'] = 'Atmospheric Fuel-Tank XS', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 35.03, ['volume'] = 17.8}, 383 + ['atmosphericfueltanks'] = {['name'] = 'Atmospheric Fuel-Tank S', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 182.67, ['volume'] = 92.6}, 384 + ['atmosphericfueltankm'] = {['name'] = 'Atmospheric Fuel-Tank M', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 988.67, ['volume'] = 499.2}, 385 + ['atmosphericfueltankl'] = {['name'] = 'Atmospheric Fuel-Tank L', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 5480, ['volume'] = 2755.4}, 386 + ['spacefueltanks'] = {['name'] = 'Space Fuel-Tank S', ['tier'] = 2, ['type'] = 'Container', ['mass'] = 182.67, ['volume'] = 92.6}, 387 + ['spacefueltankm'] = {['name'] = 'Space Fuel-Tank M', ['tier'] = 2, ['type'] = 'Container', ['mass'] = 988.67, ['volume'] = 499.2}, 388 + ['spacefueltankl'] = {['name'] = 'Space Fuel-Tank L', ['tier'] = 2, ['type'] = 'Container', ['mass'] = 5480, ['volume'] = 2755.4}, 389 + ['rocketfueltankxs'] = {['name'] = 'Rocket Fuel-Tank XS', ['tier'] = 3, ['type'] = 'Container', ['mass'] = 173.42, ['volume'] = 96.6}, 390 + ['rocketfueltanks'] = {['name'] = 'Rocket Fuel-Tank S', ['tier'] = 3, ['type'] = 'Container', ['mass'] = 886.72, ['volume'] = 503.2}, 391 + ['rocketfueltankm'] = {['name'] = 'Rocket Fuel-Tank M', ['tier'] = 3, ['type'] = 'Container', ['mass'] = 6231, ['volume'] = 6400}, 392 + ['rocketfueltankl'] = {['name'] = 'Rocket Fuel-Tank L', ['tier'] = 3, ['type'] = 'Container', ['mass'] = 25740, ['volume'] = 15570}, 393 + ['ammocontainerxs'] = {['name'] = 'Ammo Container XS', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 216.15, ['volume'] = 67}, 394 + ['ammocontainers'] = {['name'] = 'Ammo Container S', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 1170, ['volume'] = 360}, 395 + ['ammocontainerm'] = {['name'] = 'Ammo Container M', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 6440, ['volume'] = 1981}, 396 + ['ammocontainerl'] = {['name'] = 'Ammo Container L', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 12880, ['volume'] = 3962}, 397 + ['assemblylinexs'] = {['name'] = 'Assembly Line XS', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 100.93, ['volume'] = 21.8}, 398 + ['assemblylines'] = {['name'] = 'Assembly Line S', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 522.14, ['volume'] = 112.6}, 399 + ['assemblylinem'] = {['name'] = 'Assembly Line M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2800, ['volume'] = 599.2}, 400 + ['assemblylinel'] = {['name'] = 'Assembly Line L', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 15380, ['volume'] = 3255.4}, 401 + ['assemblylinexl'] = {['name'] = 'Assembly Line XL', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 86290, ['volume'] = 18070}, 402 + ['3dprinterm'] = {['name'] = '3D Printer M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2000, ['volume'] = 609.2}, 403 + ['chemicalindustrym'] = {['name'] = 'Chemical Industry M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2300, ['volume'] = 479.2}, 404 + ['electronicsindustrym'] = {['name'] = 'Electronics Industry M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 1620, ['volume'] = 459.2}, 405 + ['glassfurnacem'] = {['name'] = 'Glass Furnace M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2830, ['volume'] = 556.4}, 406 + ['honeycombrefinerym'] = {['name'] = 'Honeycomb Refinery M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2990, ['volume'] = 589.2}, 407 + ['metalworkindustrym'] = {['name'] = 'Metalwork Industry M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2600, ['volume'] = 599.2}, 408 + ['recyclerm'] = {['name'] = 'Recycler M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2350, ['volume'] = 619.2}, 409 + ['refinerm'] = {['name'] = 'Refiner M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2300, ['volume'] = 479.2}, 410 + ['smelterm'] = {['name'] = 'Smelter M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2060, ['volume'] = 499.2}, 411 + ['transferunit'] = {['name'] = 'Transfer Unit', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 10150, ['volume'] = 3305.4}, 412 + ['retrorocketbrakes'] = {['name'] = 'Retro-Rocket Brake S', ['tier'] = 1, ['type'] = 'Space Brake', ['mass'] = 137.55, ['volume'] = 20.33}, 413 + ['retrorocketbrakem'] = {['name'] = 'Retro-Rocket Brake M', ['tier'] = 1, ['type'] = 'Space Brake', ['mass'] = 714, ['volume'] = 105.24}, 414 + ['retrorocketbrakel'] = {['name'] = 'Retro-Rocket Brake L', ['tier'] = 1, ['type'] = 'Space Brake', ['mass'] = 3770, ['volume'] = 562.4}, 415 + ['atmosphericairbrakes'] = {['name'] = 'Atmospheric Airbrake S', ['tier'] = 1, ['type'] = 'Airbrake', ['mass'] = 55.55, ['volume'] = 22.6}, 416 + ['atmosphericairbrakem'] = {['name'] = 'Atmospheric Airbrake M', ['tier'] = 1, ['type'] = 'Airbrake', ['mass'] = 285.25, ['volume'] = 116.6}, 417 + ['atmosphericairbrakel'] = {['name'] = 'Atmospheric Airbrake L', ['tier'] = 1, ['type'] = 'Airbrake', ['mass'] = 1500, ['volume'] = 619.2}, 418 + ['compactaileronxs'] = {['name'] = 'Compact Aileron XS', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 61.2, ['volume'] = 22.6}, 419 + ['compactailerons'] = {['name'] = 'Compact Aileron S', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 319.15, ['volume'] = 116.6}, 420 + ['compactaileronm'] = {['name'] = 'Compact Aileron M', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 1705, ['volume'] = 619.2}, 421 + ['aileronxs'] = {['name'] = 'Aileron XS', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 122.4, ['volume'] = 45.2}, 422 + ['ailerons'] = {['name'] = 'Aileron S', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 638.3, ['volume'] = 233.2}, 423 + ['aileronm'] = {['name'] = 'Aileron M', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 3410, ['volume'] = 1238.4}, 424 + ['stabilizerxs'] = {['name'] = 'Stabilizer XS', ['tier'] = 1, ['type'] = 'Stabilizer', ['mass'] = 69.88, ['volume'] = 22.6}, 425 + ['stabilizers'] = {['name'] = 'Stabilizer S', ['tier'] = 1, ['type'] = 'Stabilizer', ['mass'] = 366.89, ['volume'] = 116.6}, 426 + ['stabilizerm'] = {['name'] = 'Stabilizer M', ['tier'] = 1, ['type'] = 'Stabilizer', ['mass'] = 2030, ['volume'] = 619.2}, 427 + ['stabilizerl'] = {['name'] = 'Stabilizer L', ['tier'] = 1, ['type'] = 'Stabilizer', ['mass'] = 11500, ['volume'] = 3355.4}, 428 + ['wingxs'] = {['name'] = 'Wing XS', ['tier'] = 1, ['type'] = 'Wing', ['mass'] = 61.2, ['volume'] = 22.6}, 429 + ['wings'] = {['name'] = 'Wing S', ['tier'] = 1, ['type'] = 'Wing', ['mass'] = 319.15, ['volume'] = 116.6}, 430 + ['wingm'] = {['name'] = 'Wing M', ['tier'] = 1, ['type'] = 'Wing', ['mass'] = 1700, ['volume'] = 619.2}, 431 + ['wingvariantm'] = {['name'] = 'Wing Variant M', ['tier'] = 1, ['type'] = 'Wing', ['mass'] = 1700, ['volume'] = 619.2}, 432 + ['atmosphericenginexs'] = {['name'] = 'Atmospheric Engine XS', ['tier'] = 1, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6}, 433 + ['atmosphericengines'] = {['name'] = 'Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6}, 434 + ['atmosphericenginem'] = {['name'] = 'Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2}, 435 + ['atmosphericenginel'] = {['name'] = 'Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4}, 436 + ['spaceenginexs'] = {['name'] = 'Space Engine XS', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33}, 437 + ['spaceengines'] = {['name'] = 'Space Engine S', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24}, 438 + ['spaceenginem'] = {['name'] = 'Space Engine M', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4}, 439 + ['spaceenginel'] = {['name'] = 'Space Engine L', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4}, 440 + ['spaceenginexl'] = {['name'] = 'Space Engine XL', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150}, 441 + ['hoverengines'] = {['name'] = 'Hover Engine S', ['tier'] = 1, ['type'] = 'Hover Engine', ['mass'] = 56.91, ['volume'] = 22.6}, 442 + ['hoverenginem'] = {['name'] = 'Hover Engine M', ['tier'] = 2, ['type'] = 'Hover Engine', ['mass'] = 302.02, ['volume'] = 116.6}, 443 + ['hoverenginel'] = {['name'] = 'Hover Engine L', ['tier'] = 2, ['type'] = 'Hover Engine', ['mass'] = 1700, ['volume'] = 619.2}, 444 + ['flathoverenginel'] = {['name'] = 'Flat Hover Engine L', ['tier'] = 2, ['type'] = 'Hover Engine', ['mass'] = 1700, ['volume'] = 619.2}, 445 + ['adjustorxs'] = {['name'] = 'Adjustor XS', ['tier'] = 1, ['type'] = 'Adjustor', ['mass'] = 22.7, ['volume'] = 11}, 446 + ['adjustors'] = {['name'] = 'Adjustor S', ['tier'] = 1, ['type'] = 'Adjustor', ['mass'] = 42.58, ['volume'] = 22.6}, 447 + ['adjustorm'] = {['name'] = 'Adjustor M', ['tier'] = 1, ['type'] = 'Adjustor', ['mass'] = 220.38, ['volume'] = 116.6}, 448 + ['adjustorl'] = {['name'] = 'Adjustor L', ['tier'] = 1, ['type'] = 'Adjustor', ['mass'] = 1180, ['volume'] = 619.2}, 449 + ['rocketengines'] = {['name'] = 'Rocket Engine S', ['tier'] = 3, ['type'] = 'Rocket Engine', ['mass'] = 2223.76, ['volume'] = 40.2}, 450 + ['rocketenginem'] = {['name'] = 'Rocket Engine M', ['tier'] = 3, ['type'] = 'Rocket Engine', ['mass'] = 680.05, ['volume'] = 125.4}, 451 + ['rocketenginel'] = {['name'] = 'Rocket Engine L', ['tier'] = 4, ['type'] = 'Rocket Engine', ['mass'] = 3390, ['volume'] = 628}, 452 + ['verticalboosterxs'] = {['name'] = 'Vertical Booster XS', ['tier'] = 1, ['type'] = 'Vertical Booster', ['mass'] = 22.7, ['volume'] = 11}, 453 + ['verticalboosters'] = {['name'] = 'Vertical Booster S', ['tier'] = 1, ['type'] = 'Vertical Booster', ['mass'] = 102, ['volume'] = 20.33}, 454 + ['verticalboosterm'] = {['name'] = 'Vertical Booster M', ['tier'] = 1, ['type'] = 'Vertical Booster', ['mass'] = 530.6, ['volume'] = 105.24}, 455 + ['verticalboosterl'] = {['name'] = 'Vertical Booster L', ['tier'] = 1, ['type'] = 'Vertical Booster', ['mass'] = 2820, ['volume'] = 562.4}, 456 + ['elevatorxs'] = {['name'] = 'Elevator XS', ['tier'] = 1, ['type'] = 'Interactive Element', ['mass'] = 207.86, ['volume'] = 57.56}, 457 + ['landinggearxs'] = {['name'] = 'Landing Gear XS', ['tier'] = 1, ['type'] = 'Landing Gear', ['mass'] = 49.88, ['volume'] = 13}, 458 + ['landinggears'] = {['name'] = 'Landing Gear S', ['tier'] = 2, ['type'] = 'Landing Gear', ['mass'] = 258.76, ['volume'] = 67}, 459 + ['landinggearm'] = {['name'] = 'Landing Gear M', ['tier'] = 2, ['type'] = 'Landing Gear', ['mass'] = 1460, ['volume'] = 360}, 460 + ['landinggearl'] = {['name'] = 'Landing Gear L', ['tier'] = 2, ['type'] = 'Landing Gear', ['mass'] = 8500, ['volume'] = 1981}, 461 + ['forcefieldxs'] = {['name'] = 'Force Field XS', ['tier'] = 1, ['type'] = 'Force Field', ['mass'] = 207.86, ['volume'] = 57.56}, 462 + ['forcefields'] = {['name'] = 'Force Field S', ['tier'] = 3, ['type'] = 'Force Field', ['mass'] = 110.62, ['volume'] = 34.7}, 463 + ['forcefieldm'] = {['name'] = 'Force Field M', ['tier'] = 3, ['type'] = 'Force Field', ['mass'] = 110.62, ['volume'] = 34.7}, 464 + ['forcefieldl'] = {['name'] = 'Force Field L', ['tier'] = 3, ['type'] = 'Force Field', ['mass'] = 110.62, ['volume'] = 34.7}, 465 + ['territoryscanner'] = {['name'] = 'Territory Scanner', ['tier'] = 2, ['type'] = 'Instrument', ['mass'] = 66460, ['volume'] = 12700}, 466 + ['gyroscope'] = {['name'] = 'Gyroscope', ['tier'] = 1, ['type'] = 'Instrument', ['mass'] = 104.41, ['volume'] = 17.65}, 467 + ['telemeter'] = {['name'] = 'Telemeter', ['tier'] = 2, ['type'] = 'Instrument', ['mass'] = 40.79, ['volume'] = 31.4}, 468 + ['remotecontroller'] = {['name'] = 'Remote Controller', ['tier'] = 3, ['type'] = 'Control Unit', ['mass'] = 7.79, ['volume'] = 4.5}, 469 + ['hovercraftseatcontroller'] = {['name'] = 'Hovercraft Seat Controller', ['tier'] = 1, ['type'] = 'Control Unit', ['mass'] = 110.33, ['volume'] = 61.6}, 470 + ['emergencycontroller'] = {['name'] = 'Emergency Controller', ['tier'] = 3, ['type'] = 'Control Unit', ['mass'] = 9.35, ['volume'] = 4.8}, 471 + ['commandseatcontroller'] = {['name'] = 'Command Seat Controller', ['tier'] = 1, ['type'] = 'Control Unit', ['mass'] = 158.45, ['volume'] = 66.6}, 472 + ['cockpitcontroller'] = {['name'] = 'Cockpit Controller', ['tier'] = 1, ['type'] = 'Control Unit', ['mass'] = 1210, ['volume'] = 491.2}, 473 + ['programmingboard'] = {['name'] = 'Programming Board', ['tier'] = 1, ['type'] = 'Control Unit', ['mass'] = 27.74, ['volume'] = 12.7}, 474 + ['gunnermodules'] = {['name'] = 'Gunner Module S', ['tier'] = 2, ['type'] = 'Control Unit', ['mass'] = 427.9, ['volume'] = 93.8}, 475 + ['gunnermodulem'] = {['name'] = 'Gunner Module M', ['tier'] = 2, ['type'] = 'Control Unit', ['mass'] = 2170, ['volume'] = 486.4}, 476 + ['gunnermodulel'] = {['name'] = 'Gunner Module L', ['tier'] = 2, ['type'] = 'Control Unit', ['mass'] = 11320, ['volume'] = 2666.6}, 477 + ['antigravitygenerators'] = {['name'] = 'Anti-Gravity Generator S', ['tier'] = 4, ['type'] = 'Anti-Gravity Generator', ['mass'] = 27130, ['volume'] = 4279.69}, 478 + ['antigravitygeneratorm'] = {['name'] = 'Anti-Gravity Generator M', ['tier'] = 4, ['type'] = 'Anti-Gravity Generator', ['mass'] = 137720, ['volume'] = 21620}, 479 + ['antigravitygeneratorl'] = {['name'] = 'Anti-Gravity Generator L', ['tier'] = 4, ['type'] = 'Anti-Gravity Generator', ['mass'] = 550870, ['volume'] = 86470}, 480 + ['antigravitypulsor'] = {['name'] = 'Anti-Gravity Pulsor', ['tier'] = 3, ['type'] = 'Anti-Gravity Generator', ['mass'] = 6210, ['volume'] = 804.93}, 481 + ['slidingdoors'] = {['name'] = 'Sliding Door S', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 749.15, ['volume'] = 102.04}, 482 + ['slidingdoorm'] = {['name'] = 'Sliding Door M', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 1010, ['volume'] = 151.8}, 483 + ['reinforcedslidingdoor'] = {['name'] = 'Reinforced Sliding Door', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 4200, ['volume'] = 546.4}, 484 + ['interiordoor'] = {['name'] = 'Interior Door', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 4200, ['volume'] = 546.4}, 485 + ['airlock'] = {['name'] = 'Airlock', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 4200, ['volume'] = 546.4}, 486 + ['gatexs'] = {['name'] = 'Gate XS', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760}, 487 + ['expandedgates'] = {['name'] = 'Expanded Gate S', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760}, 488 + ['gatem'] = {['name'] = 'Gate M', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760}, 489 + ['expandedgatel'] = {['name'] = 'Expanded Gate L', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760}, 490 + ['gatexl'] = {['name'] = 'Gate XL', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760}, 491 + ['andoperator'] = {['name'] = 'AND Operator', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 13.27, ['volume'] = 5}, 492 + ['notoperator'] = {['name'] = 'NOT Operator', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 7.47, ['volume'] = 4.5}, 493 + ['oroperator'] = {['name'] = 'OR Operator', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 7.47, ['volume'] = 4.5}, 494 + ['relay'] = {['name'] = 'Relay', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 8.87, ['volume'] = 6.5}, 495 + ['databank'] = {['name'] = 'Databank', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 17.09, ['volume'] = 5.5}, 496 + ['2counter'] = {['name'] = '2 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5}, 497 + ['3counter'] = {['name'] = '3 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5}, 498 + ['5counter'] = {['name'] = '5 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5}, 499 + ['7counter'] = {['name'] = '7 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5}, 500 + ['10counter'] = {['name'] = '10 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5}, 501 + ['infraredlaseremitter'] = {['name'] = 'Infra-Red Laser Emitter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5}, 502 + ['laseremitter'] = {['name'] = 'Laser Emitter', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 7.47, ['volume'] = 4.5}, 503 + ['delayline'] = {['name'] = 'Delay Line', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 7.47, ['volume'] = 4.5}, 504 + ['receiverxs'] = {['name'] = 'Receiver XS', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 13.27, ['volume'] = 5}, 505 + ['receivers'] = {['name'] = 'Receiver S', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 475.87, ['volume'] = 91.56}, 506 + ['receiverm'] = {['name'] = 'Receiver M', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 6636.912, ['volume'] = 1500}, 507 + ['emitterxs'] = {['name'] = 'Emitter XS', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 69.31, ['volume'] = 15.46}, 508 + ['emitters'] = {['name'] = 'Emitter S', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 427.72, ['volume'] = 88.56}, 509 + ['emitterm'] = {['name'] = 'Emitter M', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 2040, ['volume'] = 44.36}, 510 + ['longlightxs'] = {['name'] = 'Long Light XS', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 70.05, ['volume'] = 10.8}, 511 + ['longlights'] = {['name'] = 'Long Light S', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 512 + ['longlightm'] = {['name'] = 'Long Light M', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 513 + ['longlightl'] = {['name'] = 'Long Light L', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 514 + ['squarelightxs'] = {['name'] = 'Square Light XS', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 70.05, ['volume'] = 10.8}, 515 + ['squarelights'] = {['name'] = 'Square Light S', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 516 + ['squarelightm'] = {['name'] = 'Square Light M', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 517 + ['squarelightl'] = {['name'] = 'Square Light L', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 518 + ['verticallightxs'] = {['name'] = 'Vertical Light XS', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 70.05, ['volume'] = 10.8}, 519 + ['verticallights'] = {['name'] = 'Vertical Light S', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 520 + ['verticallightm'] = {['name'] = 'Vertical Light M', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 521 + ['verticallightl'] = {['name'] = 'Vertical Light L', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 522 + ['headlight'] = {['name'] = 'Headlight', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 523 + ['smallatmosphericradarpvps'] = {['name'] = 'Small Atmospheric Radar PvP S', ['tier'] = 1, ['type'] = 'Radar', ['mass'] = 486.72, ['volume'] = 96.56}, 524 + ['mediumatmosphericradarpvpm'] = {['name'] = 'Medium Atmospheric Radar PvP M', ['tier'] = 2, ['type'] = 'Radar', ['mass'] = 2910, ['volume'] = 486336}, 525 + ['largeatmosphericradarpvpl'] = {['name'] = 'Large Atmospheric Radar PvP L', ['tier'] = 2, ['type'] = 'Radar', ['mass'] = 16140, ['volume'] = 2658.56}, 526 + ['spaceradars'] = {['name'] = 'Space Radar S', ['tier'] = 1, ['type'] = 'Radar', ['mass'] = 486.72, ['volume'] = 96.56}, 527 + ['spaceradarm'] = {['name'] = 'Space Radar M', ['tier'] = 1, ['type'] = 'Radar', ['mass'] = 2350, ['volume'] = 486.36}, 528 + ['spaceradarl'] = {['name'] = 'Space Radar L', ['tier'] = 1, ['type'] = 'Radar', ['mass'] = 12490, ['volume'] = 2658.56}, 529 + ['screenxs'] = {['name'] = 'Screen XS', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 530 + ['screens'] = {['name'] = 'Screen S', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 531 + ['screenm'] = {['name'] = 'Screen M', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 532 + ['screenxl'] = {['name'] = 'Screen XL', ['tier'] = 3, ['type'] = 'Screen/Sign', ['mass'] = 12810, ['volume'] = 11170}, 533 + ['transparentscreenxs'] = {['name'] = 'Transparent Screen XS', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 534 + ['transparentscreens'] = {['name'] = 'Transparent Screen S', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 535 + ['transparentscreenm'] = {['name'] = 'Transparent Screen M', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 536 + ['transparentscreenl'] = {['name'] = 'Transparent Screen L', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 537 + ['signxs'] = {['name'] = 'Sign XS', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 538 + ['signs'] = {['name'] = 'Sign S', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 539 + ['signm'] = {['name'] = 'Sign M', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 540 + ['signl'] = {['name'] = 'Sign L', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 541 + ['verticalsignxs'] = {['name'] = 'Vertical Sign XS', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 542 + ['verticalsignm'] = {['name'] = 'Vertical Sign M', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 543 + ['verticalsignl'] = {['name'] = 'Vertical Sign L', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 544 + ['sensorss'] = {['name'] = 'Sensors S', ['tier'] = 1, ['type'] = 'Surrogate Element', ['mass'] = 28, ['volume'] = 27}, 545 + ['officechair'] = {['name'] = 'Office Chair', ['tier'] = 1, ['type'] = 'Chair', ['mass'] = 916.52, ['volume'] = 13}, 546 + ['executivechair'] = {['name'] = 'Executive Chair', ['tier'] = 1, ['type'] = 'Chair', ['mass'] = 39.62, ['volume'] = 24}, 547 + ['encampmentchair'] = {['name'] = 'Encampment Chair', ['tier'] = 1, ['type'] = 'Chair', ['mass'] = 2.52, ['volume'] = 2}, 548 + ['manualswitch'] = {['name'] = 'Manual Switch', ['tier'] = 1, ['type'] = 'Sensor', ['mass'] = 13.27, ['volume'] = 5}, 549 + ['pressuretile'] = {['name'] = 'Pressure Tile', ['tier'] = 1, ['type'] = 'Sensor', ['mass'] = 50.63, ['volume'] = 14.49}, 550 + ['manualbuttonxs'] = {['name'] = 'Manual Button XS', ['tier'] = 1, ['type'] = 'Sensor', ['mass'] = 13.27, ['volume'] = 5}, 551 + ['manualbuttons'] = {['name'] = 'Manual Button S', ['tier'] = 1, ['type'] = 'Sensor', ['mass'] = 13.27, ['volume'] = 5}, 552 + ['laserreceiver'] = {['name'] = 'Laser Receiver', ['tier'] = 2, ['type'] = 'Sensor', ['mass'] = 9.93, ['volume'] = 5}, 553 + ['infraredlaserreceiver'] = {['name'] = 'Infra-Red Laser Receiver', ['tier'] = 2, ['type'] = 'Sensor', ['mass'] = 9.93}, 554 + ['detectionzonexs'] = {['name'] = 'Detection Zone XS', ['tier'] = 3, ['type'] = 'Sensor', ['mass'] = 7.79, ['volume'] = 4.5}, 555 + ['detectionzones'] = {['name'] = 'Detection Zone S', ['tier'] = 3, ['type'] = 'Sensor', ['mass'] = 7.79, ['volume'] = 4.5}, 556 + ['detectionzonem'] = {['name'] = 'Detection Zone M', ['tier'] = 3, ['type'] = 'Sensor', ['mass'] = 7.79, ['volume'] = 4.5}, 557 + ['detectionzonel'] = {['name'] = 'Detection Zone L', ['tier'] = 3, ['type'] = 'Sensor', ['mass'] = 7.79, ['volume'] = 4.5}, 558 + ['keyboardunit'] = {['name'] = 'Keyboard Unit', ['tier'] = 1, ['type'] = 'Decorative', ['mass'] = 24.68, ['volume'] = 3.8}, 559 + ['antennas'] = {['name'] = 'Antenna S', ['tier'] = 1, ['type'] = 'Antenna', ['mass'] = 130.06, ['volume'] = 24}, 560 + ['antennam'] = {['name'] = 'Antenna M', ['tier'] = 2, ['type'] = 'Antenna', ['mass'] = 902.74, ['volume'] = 159}, 561 + ['antennal'] = {['name'] = 'Antenna L', ['tier'] = 3, ['type'] = 'Antenna', ['mass'] = 6850, ['volume'] = 1074}, 562 + ['barriercorner'] = {['name'] = 'Barrier Corner', ['tier'] = 1, ['type'] = 'Barrier', ['mass'] = 14.65, ['volume'] = 4}, 563 + ['barriers'] = {['name'] = 'Barrier S', ['tier'] = 1, ['type'] = 'Barrier', ['mass'] = 14.65, ['volume'] = 4}, 564 + ['barrierm'] = {['name'] = 'Barrier M', ['tier'] = 1, ['type'] = 'Barrier', ['mass'] = 14.65, ['volume'] = 4}, 565 + ['sinkunit'] = {['name'] = 'Sink Unit', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 6.72, ['volume'] = 4}, 566 + ['showerunit'] = {['name'] = 'Shower Unit', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 25.62, ['volume'] = 13}, 567 + ['urinalunit'] = {['name'] = 'Urinal Unit', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 8.32, ['volume'] = 4}, 568 + ['toiletunita'] = {['name'] = 'Toilet Unit A', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 6.72, ['volume'] = 4}, 569 + ['toiletunitb'] = {['name'] = 'Toilet Unit B', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 6.72, ['volume'] = 4}, 570 + ['cablemodelas'] = {['name'] = 'Cable Model-A S', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 571 + ['cablemodelbs'] = {['name'] = 'Cable Model-B S', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 572 + ['cablemodelcs'] = {['name'] = 'Cable Model-C S', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 573 + ['cablemodelam'] = {['name'] = 'Cable Model-A M', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 574 + ['cablemodelbm'] = {['name'] = 'Cable Model-B M', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 575 + ['cablemodelcm'] = {['name'] = 'Cable Model-C M', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 576 + ['cornercablemodela'] = {['name'] = 'Corner Cable Model-A', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 577 + ['cornercablemodelb'] = {['name'] = 'Corner Cable Model-B', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 578 + ['cornercablemodelc'] = {['name'] = 'Corner Cable Model-C', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 579 + ['dresser'] = {['name'] = 'Dresser', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 8.32, ['volume'] = 4}, 580 + ['bench'] = {['name'] = 'Bench', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 22.33, ['volume'] = 4}, 581 + ['woodenlowtable'] = {['name'] = 'Wooden Low Table', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 5.92, ['volume'] = 4}, 582 + ['sofa'] = {['name'] = 'Sofa', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 39.62, ['volume'] = 24}, 583 + ['woodenwardrobe'] = {['name'] = 'Wooden Wardrobe', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 39.62, ['volume'] = 24}, 584 + ['table'] = {['name'] = 'Table', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 264.32, ['volume'] = 159}, 585 + ['trash'] = {['name'] = 'Trash', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 6.72, ['volume'] = 4}, 586 + ['woodensofa'] = {['name'] = 'Wooden Sofa', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 39.62, ['volume'] = 24}, 587 + ['nightstand'] = {['name'] = 'Nightstand', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 6.72, ['volume'] = 4}, 588 + ['wardrobe'] = {['name'] = 'Wardrobe', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 39.62, ['volume'] = 24}, 589 + ['woodenchair'] = {['name'] = 'Wooden Chair', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 2.52, ['volume'] = 2}, 590 + ['woodenarmchair'] = {['name'] = 'Wooden Armchair', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 1.72, ['volume'] = 2}, 591 + ['roundcarpet'] = {['name'] = 'Round Carpet', ['tier'] = 5, ['type'] = 'Furniture', ['mass'] = 2.78, ['volume'] = 2}, 592 + ['squarecarpet'] = {['name'] = 'Square Carpet', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 2.52, ['volume'] = 2}, 593 + ['woodendresser'] = {['name'] = 'Wooden Dresser', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 34.02, ['volume'] = 24}, 594 + ['woodentablem'] = {['name'] = 'Wooden Table M', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 34.02, ['volume'] = 24}, 595 + ['woodentablel'] = {['name'] = 'Wooden Table L', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 34.02, ['volume'] = 24}, 596 + ['shelfempty'] = {['name'] = 'Shelf Empty', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 8.32, ['volume'] = 4}, 597 + ['shelfhalffull'] = {['name'] = 'Shelf Half Full', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 8.32, ['volume'] = 4}, 598 + ['shelffull'] = {['name'] = 'Shelf Full', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 8.32, ['volume'] = 4}, 599 + ['bed'] = {['name'] = 'Bed', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 128.94, ['volume'] = 24}, 600 + ['spaceshipholograms'] = {['name'] = 'Spaceship Hologram S', ['tier'] = 2, ['type'] = 'Hologram', ['mass'] = 112.72, ['volume'] = 9}, 601 + ['spaceshiphologramm'] = {['name'] = 'Spaceship Hologram M', ['tier'] = 2, ['type'] = 'Hologram', ['mass'] = 15.98, ['volume'] = 13}, 602 + ['spaceshipholograml'] = {['name'] = 'Spaceship Hologram L', ['tier'] = 2, ['type'] = 'Hologram', ['mass'] = 14.02, ['volume'] = 12.5}, 603 + ['planethologram'] = {['name'] = 'Planet Hologram', ['tier'] = 1, ['type'] = 'Hologram', ['mass'] = 13.39, ['volume'] = 12.5}, 604 + ['planetholograml'] = {['name'] = 'Planet Hologram L', ['tier'] = 1, ['type'] = 'Hologram', ['mass'] = 69.9, ['volume'] = 64}, 605 + ['steelcolumn'] = {['name'] = 'Steel Column', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 13.37, ['volume'] = 4}, 606 + ['steelpanel'] = {['name'] = 'Steel Panel', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 13.37, ['volume'] = 4}, 607 + ['hulldecorativeelementa'] = {['name'] = 'Hull Decorative Element A', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 14.65, ['volume'] = 4}, 608 + ['hulldecorativeelementb'] = {['name'] = 'Hull Decorative Element B', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 14.65, ['volume'] = 4}, 609 + ['hulldecorativeelementc'] = {['name'] = 'Hull Decorative Element C', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 14.65, ['volume'] = 4}, 610 + ['pipeam'] = {['name'] = 'Pipe A M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074}, 611 + ['pipebm'] = {['name'] = 'Pipe B M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074}, 612 + ['pipecm'] = {['name'] = 'Pipe C M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074}, 613 + ['pipedm'] = {['name'] = 'Pipe D M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074}, 614 + ['pipecornerm'] = {['name'] = 'Pipe Corner M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074}, 615 + ['pipeconnectorm'] = {['name'] = 'Pipe Connector M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074}, 616 + ['plantcasea'] = {['name'] = 'Plant Case A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 21.42, ['volume'] = 24}, 617 + ['plantcaseb'] = {['name'] = 'Plant Case B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 618 + ['plantcasec'] = {['name'] = 'Plant Case C', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 619 + ['plantcased'] = {['name'] = 'Plant Case D', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 620 + ['plantcasee'] = {['name'] = 'Plant Case E', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 621 + ['suspendedfruitplant'] = {['name'] = 'Suspended Fruit Plant', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 622 + ['suspendedplanta'] = {['name'] = 'Suspended Plant A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 623 + ['suspendedplantb'] = {['name'] = 'Suspended Plant B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 624 + ['baggedplanta'] = {['name'] = 'Bagged Plant A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 625 + ['baggedplantb'] = {['name'] = 'Bagged Plant B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 626 + ['plant'] = {['name'] = 'Plant', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 627 + ['bonsai'] = {['name'] = 'Bonsai', ['tier'] = 5, ['type'] = 'Plant', ['mass'] = 902.04, ['volume'] = 180.6}, 628 + ['eggplantplantcase'] = {['name'] = 'Eggplant Plant Case', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 629 + ['saladplantcase'] = {['name'] = 'Salad Plant Case', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 630 + ['squashplantcase'] = {['name'] = 'Squash Plant Case', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 631 + ['plantcases'] = {['name'] = 'Plant Case S', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 632 + ['plantcasem'] = {['name'] = 'Plant Case M', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 633 + ['ficusplanta'] = {['name'] = 'Ficus Plant A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 634 + ['ficusplantb'] = {['name'] = 'Ficus Plant B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 635 + ['foliageplantcasea'] = {['name'] = 'Foliage Plant Case A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 636 + ['foliageplantcaseb'] = {['name'] = 'Foliage Plant Case B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 637 + ['windowxs'] = {['name'] = 'Window XS', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 47.32, ['volume'] = 24}, 638 + ['windows'] = {['name'] = 'Window S', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 94.64, ['volume'] = 48}, 639 + ['windowm'] = {['name'] = 'Window M', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 189.28, ['volume'] = 96}, 640 + ['windowl'] = {['name'] = 'Window L', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 378.56, ['volume'] = 192}, 641 + ['armoredwindowxs'] = {['name'] = 'Armored Window XS', ['tier'] = 2, ['type'] = 'Window', ['mass'] = 47.16, ['volume'] = 24}, 642 + ['armoredwindows'] = {['name'] = 'Armored Window S', ['tier'] = 2, ['type'] = 'Window', ['mass'] = 94.32, ['volume'] = 48}, 643 + ['armoredwindowm'] = {['name'] = 'Armored Window M', ['tier'] = 2, ['type'] = 'Window', ['mass'] = 188.64, ['volume'] = 96}, 644 + ['armoredwindowl'] = {['name'] = 'Armored Window L', ['tier'] = 2, ['type'] = 'Window', ['mass'] = 377.28, ['volume'] = 192}, 645 + ['glasspanels'] = {['name'] = 'Glass Panel S', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 5.02, ['volume'] = 4}, 646 + ['glasspanelm'] = {['name'] = 'Glass Panel M', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 20.08, ['volume'] = 16}, 647 + ['glasspanell'] = {['name'] = 'Glass Panel L', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 31.92, ['volume'] = 24}, 648 + ['baywindowxl'] = {['name'] = 'Bay Window XL', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 5090, ['volume'] = 2544}, 649 + ['verticalwing'] = {['name'] = 'Vertical Wing', ['tier'] = 1, ['type'] = 'Winglets', ['mass'] = 20.3, ['volume'] = 4}, 650 + ['wingtips'] = {['name'] = 'Wing Tip S', ['tier'] = 1, ['type'] = 'Winglets', ['mass'] = 20.3, ['volume'] = 4}, 651 + ['wingtipm'] = {['name'] = 'Wing Tip M', ['tier'] = 1, ['type'] = 'Winglets', ['mass'] = 20.3, ['volume'] = 4}, 652 + ['wingtipl'] = {['name'] = 'Wing Tip L', ['tier'] = 1, ['type'] = 'Winglets', ['mass'] = 127.75, ['volume'] = 24}, 653 + ['aluminiumscrap'] = {['name'] = 'Aluminium Scrap', ['tier'] = 1, ['type'] = 'Scrap', ['mass'] = 2.7, ['volume'] = 1}, 654 + ['carbonscrap'] = {['name'] = 'Carbon Scrap', ['tier'] = 1, ['type'] = 'Scrap', ['mass'] = 2.27, ['volume'] = 1}, 655 + ['siliconscrap'] = {['name'] = 'Silicon Scrap', ['tier'] = 1, ['type'] = 'Scrap', ['mass'] = 2.33, ['volume'] = 1}, 656 + ['ironscrap'] = {['name'] = 'Iron Scrap', ['tier'] = 1, ['type'] = 'Scrap', ['mass'] = 7.85, ['volume'] = 1}, 657 + ['calciumscrap'] = {['name'] = 'Calcium Scrap', ['tier'] = 2, ['type'] = 'Scrap', ['mass'] = 1.55, ['volume'] = 1}, 658 + ['chromiumscrap'] = {['name'] = 'Chromium Scrap', ['tier'] = 2, ['type'] = 'Scrap', ['mass'] = 7.19, ['volume'] = 1}, 659 + ['copperscrap'] = {['name'] = 'Copper Scrap', ['tier'] = 2, ['type'] = 'Scrap', ['mass'] = 8.96, ['volume'] = 1}, 660 + ['sodiumscrap'] = {['name'] = 'Sodium Scrap', ['tier'] = 2, ['type'] = 'Scrap', ['mass'] = 0.97, ['volume'] = 1}, 661 + ['lithiumscrap'] = {['name'] = 'Lithium Scrap', ['tier'] = 3, ['type'] = 'Scrap', ['mass'] = 0.53, ['volume'] = 1}, 662 + ['nickelscrap'] = {['name'] = 'Nickel Scrap', ['tier'] = 3, ['type'] = 'Scrap', ['mass'] = 8.91, ['volume'] = 1}, 663 + ['silverscrap'] = {['name'] = 'Silver Scrap', ['tier'] = 3, ['type'] = 'Scrap', ['mass'] = 10.49, ['volume'] = 1}, 664 + ['sulfurscrap'] = {['name'] = 'Sulfur Scrap', ['tier'] = 3, ['type'] = 'Scrap', ['mass'] = 1.82, ['volume'] = 1}, 665 + ['cobaltscrap'] = {['name'] = 'Cobalt Scrap', ['tier'] = 4, ['type'] = 'Scrap', ['mass'] = 8.9, ['volume'] = 1}, 666 + ['fluorinescrap'] = {['name'] = 'Fluorine Scrap', ['tier'] = 4, ['type'] = 'Scrap', ['mass'] = 1.7, ['volume'] = 1}, 667 + ['goldscrap'] = {['name'] = 'Gold Scrap', ['tier'] = 4, ['type'] = 'Scrap', ['mass'] = 19.3, ['volume'] = 1}, 668 + ['scandiumscrap'] = {['name'] = 'Scandium Scrap', ['tier'] = 4, ['type'] = 'Scrap', ['mass'] = 2.98, ['volume'] = 1}, 669 + ['ironhoneycomb'] = {['name'] = 'Iron Honeycomb', ['tier'] = 1, ['type'] = 'Pure Honeycomb', ['mass'] = 78.5, ['volume'] = 10}, 670 + ['aluminiumhoneycomb'] = {['name'] = 'Aluminium Honeycomb', ['tier'] = 1, ['type'] = 'Pure Honeycomb', ['mass'] = 27, ['volume'] = 5}, 671 + ['carbonhoneycomb'] = {['name'] = 'Carbon Honeycomb', ['tier'] = 1, ['type'] = 'Pure Honeycomb', ['mass'] = 22.7, ['volume'] = 10}, 672 + ['siliconhoneycomb'] = {['name'] = 'Silicon Honeycomb', ['tier'] = 1, ['type'] = 'Pure Honeycomb', ['mass'] = 23.3, ['volume'] = 10}, 673 + ['copperhoneycomb'] = {['name'] = 'Copper Honeycomb', ['tier'] = 2, ['type'] = 'Pure Honeycomb', ['mass'] = 89.6, ['volume'] = 10}, 674 + ['chromiumhoneycomb'] = {['name'] = 'Chromium Honeycomb', ['tier'] = 2, ['type'] = 'Pure Honeycomb', ['mass'] = 71.9, ['volume'] = 10}, 675 + ['calciumhoneycomb'] = {['name'] = 'Calcium Honeycomb', ['tier'] = 2, ['type'] = 'Pure Honeycomb', ['mass'] = 15.5, ['volume'] = 10}, 676 + ['sodiumhoneycomb'] = {['name'] = 'Sodium Honeycomb', ['tier'] = 2, ['type'] = 'Pure Honeycomb', ['mass'] = 9.7, ['volume'] = 10}, 677 + ['lithiumhoneycomb'] = {['name'] = 'Lithium Honeycomb', ['tier'] = 3, ['type'] = 'Pure Honeycomb', ['mass'] = 5.3, ['volume'] = 10}, 678 + ['nickelhoneycomb'] = {['name'] = 'Nickel Honeycomb', ['tier'] = 3, ['type'] = 'Pure Honeycomb', ['mass'] = 89.1, ['volume'] = 10}, 679 + ['silverhoneycomb'] = {['name'] = 'Silver Honeycomb', ['tier'] = 3, ['type'] = 'Pure Honeycomb', ['mass'] = 104.9, ['volume'] = 10}, 680 + ['sulfurhoneycomb'] = {['name'] = 'Sulfur Honeycomb', ['tier'] = 3, ['type'] = 'Pure Honeycomb', ['mass'] = 18.19, ['volume'] = 10}, 681 + ['goldhoneycomb'] = {['name'] = 'Gold Honeycomb', ['tier'] = 4, ['type'] = 'Pure Honeycomb', ['mass'] = 193, ['volume'] = 10}, 682 + ['cobalthoneycomb'] = {['name'] = 'Cobalt Honeycomb', ['tier'] = 4, ['type'] = 'Pure Honeycomb', ['mass'] = 89, ['volume'] = 10}, 683 + ['fluorinehoneycomb'] = {['name'] = 'Fluorine Honeycomb', ['tier'] = 4, ['type'] = 'Pure Honeycomb', ['mass'] = 16.96, ['volume'] = 10}, 684 + ['scandiumhoneycomb'] = {['name'] = 'Scandium Honeycomb', ['tier'] = 4, ['type'] = 'Pure Honeycomb', ['mass'] = 29.85, ['volume'] = 10}, 685 + ['manganesehoneycomb'] = {['name'] = 'Manganese Honeycomb', ['tier'] = 5, ['type'] = 'Pure Honeycomb', ['mass'] = 72.1, ['volume'] = 10}, 686 + ['niobiumhoneycomb'] = {['name'] = 'Niobium Honeycomb', ['tier'] = 5, ['type'] = 'Pure Honeycomb', ['mass'] = 85.7, ['volume'] = 10}, 687 + ['titaniumhoneycomb'] = {['name'] = 'Titanium Honeycomb', ['tier'] = 5, ['type'] = 'Pure Honeycomb', ['mass'] = 45.1, ['volume'] = 10}, 688 + ['vanadiumhoneycomb'] = {['name'] = 'Vanadium Honeycomb', ['tier'] = 5, ['type'] = 'Pure Honeycomb', ['mass'] = 60, ['volume'] = 10}, 689 + ['plastichoneycomb'] = {['name'] = 'Plastic Honeycomb', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 27.57, ['volume'] = 10}, 690 + ['woodhoneycomb'] = {['name'] = 'Wood Honeycomb', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 27.19, ['volume'] = 10}, 691 + ['concretehoneycomb'] = {['name'] = 'Concrete Honeycomb', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 27.57, ['volume'] = 10}, 692 + ['carbonfiberhoneycomb'] = {['name'] = 'Carbonfiber Honeycomb', ['tier'] = 2, ['type'] = 'Product Honeycomb', ['mass'] = 27.38, ['volume'] = 10}, 693 + ['brickhoneycomb'] = {['name'] = 'Brick Honeycomb', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 27.57, ['volume'] = 10}, 694 + ['steelhoneycomb'] = {['name'] = 'Steel Honeycomb', ['tier'] = 2, ['type'] = 'Product Honeycomb', ['mass'] = 115.14, ['volume'] = 10}, 695 + ['marblehoneycomb'] = {['name'] = 'Marble Honeycomb', ['tier'] = 2, ['type'] = 'Product Honeycomb', ['mass'] = 129.4, ['volume'] = 10}, 696 + ['luminescentwhiteglass'] = {['name'] = 'Luminescent White Glass', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 26, ['volume'] = 10}, 697 + ['resurrectionnode'] = {['name'] = 'Resurrection Node', ['tier'] = 2, ['type'] = 'Resurrection Node', ['mass'] = 728.43, ['volume'] = 203.33}, 698 + ['virtualscaffoldingprojector'] = {['name'] = 'Virtual Scaffolding Projector', ['tier'] = 4, ['type'] = 'Virtual Projector', ['mass'] = 167.11, ['volume'] = 122.4}, 699 + ['cannonxs'] = {['name'] = 'Cannon XS', ['tier'] = 1, ['type'] = 'Cannon', ['mass'] = 190.1, ['volume'] = 34.2}, 700 + ['cannons'] = {['name'] = 'Cannon S', ['tier'] = 2, ['type'] = 'Cannon', ['mass'] = 517.52, ['volume'] = 95.4}, 701 + ['cannonm'] = {['name'] = 'Cannon M', ['tier'] = 3, ['type'] = 'Cannon', ['mass'] = 2670, ['volume'] = 478}, 702 + ['cannonl'] = {['name'] = 'Cannon L', ['tier'] = 4, ['type'] = 'Cannon', ['mass'] = 15240, ['volume'] = 2614.2}, 703 + ['laserxs'] = {['name'] = 'Laser XS', ['tier'] = 1, ['type'] = 'Laser', ['mass'] = 118.55, ['volume'] = 39.2}, 704 + ['lasers'] = {['name'] = 'Laser S', ['tier'] = 2, ['type'] = 'Laser', ['mass'] = 508.26, ['volume'] = 120.2}, 705 + ['laserm'] = {['name'] = 'Laser M', ['tier'] = 3, ['type'] = 'Laser', ['mass'] = 2690, ['volume'] = 600.8}, 706 + ['laserl'] = {['name'] = 'Laser L', ['tier'] = 4, ['type'] = 'Laser', ['mass'] = 14770, ['volume'] = 3221}, 707 + ['missilexs'] = {['name'] = 'Missile XS', ['tier'] = 1, ['type'] = 'Missile', ['mass'] = 207.67, ['volume'] = 40.2}, 708 + ['missiles'] = {['name'] = 'Missile S', ['tier'] = 2, ['type'] = 'Missile', ['mass'] = 593.35, ['volume'] = 125.4}, 709 + ['missilem'] = {['name'] = 'Missile M', ['tier'] = 3, ['type'] = 'Missile', ['mass'] = 2970, ['volume'] = 628}, 710 + ['missilel'] = {['name'] = 'Missile L', ['tier'] = 4, ['type'] = 'Missile', ['mass'] = 16130, ['volume'] = 3364.2}, 711 + ['railgunxs'] = {['name'] = 'Railgun XS', ['tier'] = 1, ['type'] = 'Railgun', ['mass'] = 232.02, ['volume'] = 33.66}, 712 + ['railguns'] = {['name'] = 'Railgun S', ['tier'] = 2, ['type'] = 'Railgun', ['mass'] = 517.52, ['volume'] = 95.4}, 713 + ['railgunm'] = {['name'] = 'Railgun M', ['tier'] = 3, ['type'] = 'Railgun', ['mass'] = 3010, ['volume'] = 565.89}, 714 + ['railgunl'] = {['name'] = 'Railgun L', ['tier'] = 4, ['type'] = 'Railgun', ['mass'] = 16720, ['volume'] = 3054.89}, 715 + ['cannonagilekineticammoxs'] = {['name'] = 'Cannon Agile Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.61, ['volume'] = 1}, 716 + ['cannondefensekineticammoxs'] = {['name'] = 'Cannon Defense Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.59, ['volume'] = 1}, 717 + ['cannonheavykineticammoxs'] = {['name'] = 'Cannon Heavy Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.73, ['volume'] = 1}, 718 + ['cannonkineticammoxs'] = {['name'] = 'Cannon Kinetic Ammo XS', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 1.54, ['volume'] = 1}, 719 + ['cannonprecisionkineticammoxs'] = {['name'] = 'Cannon Precision Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.54, ['volume'] = 1}, 720 + ['cannonagilethermicammoxs'] = {['name'] = 'Cannon Agile Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.07, ['volume'] = 1}, 721 + ['cannondefensethermicammoxs'] = {['name'] = 'Cannon Defense Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.05, ['volume'] = 1}, 722 + ['cannonheavythermicammoxs'] = {['name'] = 'Cannon Heavy Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.19, ['volume'] = 1}, 723 + ['cannonprecisionthermicammoxs'] = {['name'] = 'Cannon Precision Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.08, ['volume'] = 1}, 724 + ['cannonthermicammoxs'] = {['name'] = 'Cannon Thermic Ammo XS', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 1.01, ['volume'] = 1}, 725 + ['cannonagilekineticammos'] = {['name'] = 'Cannon Agile Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 4.1, ['volume'] = 5}, 726 + ['cannondefensekineticammos'] = {['name'] = 'Cannon Defense Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 4.07, ['volume'] = 5}, 727 + ['cannonheavykineticammos'] = {['name'] = 'Cannon Heavy Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 4.34, ['volume'] = 5}, 728 + ['cannonkineticammos'] = {['name'] = 'Cannon Kinetic Ammo S', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 3.98, ['volume'] = 5}, 729 + ['cannonprecisionkineticammos'] = {['name'] = 'Cannon Precision Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 4.11, ['volume'] = 5}, 730 + ['cannonagilethermicammos'] = {['name'] = 'Cannon Agile Thermic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 3.2, ['volume'] = 5}, 731 + ['cannondefensethermicammos'] = {['name'] = 'Cannon Defense Thermic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 2.99, ['volume'] = 5}, 732 + ['cannonheavythermicammos'] = {['name'] = 'Cannon Heavy Thermic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 3.28, ['volume'] = 5}, 733 + ['cannonprecisionthermicammos'] = {['name'] = 'Cannon Precision Thermic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 3.2, ['volume'] = 5}, 734 + ['cannonthermicammos'] = {['name'] = 'Cannon Thermic Ammo S', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 2.93, ['volume'] = 5}, 735 + ['cannonagilekineticammom'] = {['name'] = 'Cannon Agile Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 14.73, ['volume'] = 25}, 736 + ['cannondefensekineticammom'] = {['name'] = 'Cannon Defense Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 14.66, ['volume'] = 25}, 737 + ['cannonheavykineticammom'] = {['name'] = 'Cannon Heavy Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 15.21, ['volume'] = 25}, 738 + ['cannonkineticammom'] = {['name'] = 'Cannon Kinetic Ammo M', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 14.66, ['volume'] = 25}, 739 + ['cannonprecisionkineticammom'] = {['name'] = 'Cannon Precision Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 14.76, ['volume'] = 25}, 740 + ['cannonagilethermicammom'] = {['name'] = 'Cannon Agile Thermic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 12.57, ['volume'] = 25}, 741 + ['cannondefensethermicammom'] = {['name'] = 'Cannon Defense Thermic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 12.5, ['volume'] = 25}, 742 + ['cannonheavythermicammom'] = {['name'] = 'Cannon Heavy Thermic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 13.05, ['volume'] = 25}, 743 + ['cannonprecisionthermicammom'] = {['name'] = 'Cannon Precision Thermic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 12.6, ['volume'] = 25}, 744 + ['cannonthermicammom'] = {['name'] = 'Cannon Thermic Ammo M', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 12.55, ['volume'] = 25}, 745 + ['cannonagilekineticammol'] = {['name'] = 'Cannon Agile Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 75.56, ['volume'] = 125}, 746 + ['cannondefensekineticammol'] = {['name'] = 'Cannon Defense Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 75.42, ['volume'] = 125}, 747 + ['cannonheavykineticammol'] = {['name'] = 'Cannon Heavy Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 76.52, ['volume'] = 125}, 748 + ['cannonkineticammol'] = {['name'] = 'Cannon Kinetic Ammo L', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 76.58, ['volume'] = 125}, 749 + ['cannonprecisionkineticammol'] = {['name'] = 'Cannon Precision Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 75.61, ['volume'] = 125}, 750 + ['cannonagilethermicammol'] = {['name'] = 'Cannon Agile Thermic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 71.24, ['volume'] = 125}, 751 + ['cannondefensethermicammol'] = {['name'] = 'Cannon Defense Thermic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 71.1, ['volume'] = 125}, 752 + ['cannonheavythermicammol'] = {['name'] = 'Cannon Heavy Thermic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 72.2, ['volume'] = 125}, 753 + ['cannonprecisionthermicammol'] = {['name'] = 'Cannon Precision Thermic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 71.29, ['volume'] = 125}, 754 + ['cannonthermicammol'] = {['name'] = 'Cannon Thermic Ammo L', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 72.37, ['volume'] = 125}, 755 + ['laseragileelectromagneticammoxs'] = {['name'] = 'Laser Agile Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 31.56, ['volume'] = 2}, 756 + ['laserdefenseelectromagneticammoxs'] = {['name'] = 'Laser Defense Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.54, ['volume'] = 2}, 757 + ['laserelectromagneticammoxs'] = {['name'] = 'Laser Electromagnetic Ammo XS', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 1.46, ['volume'] = 2}, 758 + ['laserheavyelectromagneticammoxs'] = {['name'] = 'Laser Heavy Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.68}, 759 + ['laserprecisionelectromagneticammoxs'] = {['name'] = 'Laser Precision Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.56, ['volume'] = 2}, 760 + ['laseragilethermicammoxs'] = {['name'] = 'Laser Agile Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 0.67, ['volume'] = 2}, 761 + ['laserdefensethermicammoxs'] = {['name'] = 'Laser Defense Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 0.65, ['volume'] = 2}, 762 + ['laserheavythermicammoxs'] = {['name'] = 'Laser Heavy Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 0.79, ['volume'] = 2}, 763 + ['laserprecisionthermicammoxs'] = {['name'] = 'Laser Precision Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 0.67, ['volume'] = 2}, 764 + ['laserthermicammoxs'] = {['name'] = 'Laser Thermic Ammo XS', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 0.6, ['volume'] = 2}, 765 + ['laseragileelectromagneticammos'] = {['name'] = 'Laser Agile Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.21, ['volume'] = 10}, 766 + ['laserdefenseelectromagneticammos'] = {['name'] = 'Laser Defense Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.18, ['volume'] = 10}, 767 + ['laserelectromagneticammos'] = {['name'] = 'Laser Electromagnetic Ammo S', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 3.03, ['volume'] = 10}, 768 + ['laserheavyelectromagneticammos'] = {['name'] = 'Laser Heavy Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.45, ['volume'] = 10}, 769 + ['laserprecisionelectromagneticammos'] = {['name'] = 'Laser Precision Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.23, ['volume'] = 10}, 770 + ['laseragilethermicammos'] = {['name'] = 'Laser Agile Thermic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.44, ['volume'] = 10}, 771 + ['laserdefensethermicammos'] = {['name'] = 'Laser Defense Thermic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.4, ['volume'] = 10}, 772 + ['laserheavythermicammos'] = {['name'] = 'Laser Heavy Thermic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.68, ['volume'] = 10}, 773 + ['laserprecisionthermicammos'] = {['name'] = 'Laser Precision Thermic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.45, ['volume'] = 10}, 774 + ['laserthermicammos'] = {['name'] = 'Laser Thermic Ammo S', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 1.31, ['volume'] = 10}, 775 + ['laseragileelectromagneticammom'] = {['name'] = 'Laser Agile Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 7.19, ['volume'] = 50}, 776 + ['laserdefenseelectromagneticammom'] = {['name'] = 'Laser Defense Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 7.12, ['volume'] = 50}, 777 + ['laserelectromagneticammom'] = {['name'] = 'Laser Electromagnetic Ammo M', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 6.78, ['volume'] = 50}, 778 + ['laserheavyelectromagneticammom'] = {['name'] = 'Laser Heavy Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 7.67, ['volume'] = 50}, 779 + ['laserprecisionelectromagneticammom'] = {['name'] = 'Laser Precision Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 7.22, ['volume'] = 50}, 780 + ['laseragilethermicammom'] = {['name'] = 'Laser Agile Thermic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.64, ['volume'] = 50}, 781 + ['laserdefensethermicammom'] = {['name'] = 'Laser Defense Thermic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.56, ['volume'] = 50}, 782 + ['laserheavythermicammom'] = {['name'] = 'Laser Heavy Thermic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.56, ['volume'] = 50}, 783 + ['laserprecisionthermicammom'] = {['name'] = 'Laser Precision Thermic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 4.12, ['volume'] = 50}, 784 + ['laserthermicammom'] = {['name'] = 'Laser Thermic Ammo M', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 3.34, ['volume'] = 50}, 785 + ['laseragileelectromagneticammol'] = {['name'] = 'Laser Agile Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 19.77, ['volume'] = 250}, 786 + ['laserdefenseelectromagneticammol'] = {['name'] = 'Laser Defense Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 19.62, ['volume'] = 250}, 787 + ['laserelectromagneticammol'] = {['name'] = 'Laser Electromagnetic Ammo L', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 18.7, ['volume'] = 250}, 788 + ['laserheavyelectromagneticammol'] = {['name'] = 'Laser Heavy Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 20.73, ['volume'] = 250}, 789 + ['laserprecisionelectromagneticammol'] = {['name'] = 'Laser Precision Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 19.81, ['volume'] = 250}, 790 + ['laseragilethermicammol'] = {['name'] = 'Laser Agile Thermic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 12.65, ['volume'] = 250}, 791 + ['laserdefensethermicammol'] = {['name'] = 'Laser Defense Thermic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 12.51, ['volume'] = 250}, 792 + ['laserheavythermicammol'] = {['name'] = 'Laser Heavy Thermic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 13.61, ['volume'] = 250}, 793 + ['laserprecisionthermicammol'] = {['name'] = 'Laser Precision Thermic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 12.7, ['volume'] = 250}, 794 + ['laserthermicammol'] = {['name'] = 'Laser Thermic Ammo L', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 11.81, ['volume'] = 250}, 795 + ['missileagileantimatterammoxs'] = {['name'] = 'Missile Agile Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 0.94, ['volume'] = 5}, 796 + ['missileantimatterammoxs'] = {['name'] = 'Missile Antimatter Ammo XS', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 0.87, ['volume'] = 5}, 797 + ['missiledefenseantimatterammoxs'] = {['name'] = 'Missile Defense Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 0.92, ['volume'] = 5}, 798 + ['missileheavyantimatterammoxs'] = {['name'] = 'Missile Heavy Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.06, ['volume'] = 5}, 799 + ['missileprecisionantimatterammoxs'] = {['name'] = 'Missile Precision Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 0.95, ['volume'] = 5}, 800 + ['missileagilekineticammoxs'] = {['name'] = 'Missile Agile Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.37, ['volume'] = 5}, 801 + ['missiledefensekineticammoxs'] = {['name'] = 'Missile Defense Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.35, ['volume'] = 5}, 802 + ['missileheavykineticammoxs'] = {['name'] = 'Missile Heavy Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.49, ['volume'] = 5}, 803 + ['missilekineticammoxs'] = {['name'] = 'Missile Kinetic Ammo XS', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 1.29, ['volume'] = 5}, 804 + ['missileprecisionkineticammoxs'] = {['name'] = 'Missile Precision Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.38, ['volume'] = 5}, 805 + ['missileagileantimatterammos'] = {['name'] = 'Missile Agile Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.16, ['volume'] = 25}, 806 + ['missileantimatterammos'] = {['name'] = 'Missile Antimatter Ammo S', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 2.16, ['volume'] = 25}, 807 + ['missiledefenseantimatterammos'] = {['name'] = 'Missile Defense Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.12, ['volume'] = 25}, 808 + ['missileheavyantimatterammos'] = {['name'] = 'Missile Heavy Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.4, ['volume'] = 25}, 809 + ['missileprecisionantimatterammos'] = {['name'] = 'Missile Precision Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.17, ['volume'] = 25}, 810 + ['missileagilekineticammos'] = {['name'] = 'Missile Agile Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 3.02, ['volume'] = 25}, 811 + ['missiledefensekineticammos'] = {['name'] = 'Missile Defense Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.99, ['volume'] = 25}, 812 + ['missileheavykineticammos'] = {['name'] = 'Missile Heavy Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 3.26, ['volume'] = 25}, 813 + ['missilekineticammos'] = {['name'] = 'Missile Kinetic Ammo S', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 2.87, ['volume'] = 25}, 814 + ['missileprecisionkineticammos'] = {['name'] = 'Missile Precision Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 3.03, ['volume'] = 25}, 815 + ['missileagileantimatterammom'] = {['name'] = 'Missile Agile Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.41, ['volume'] = 125}, 816 + ['missileantimatterammom'] = {['name'] = 'Missile Antimatter Ammo M', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 6.24, ['volume'] = 125}, 817 + ['missiledefenseantimatterammom'] = {['name'] = 'Missile Defense Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.33, ['volume'] = 125}, 818 + ['missileheavyantimatterammom'] = {['name'] = 'Missile Heavy Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.89, ['volume'] = 125}, 819 + ['missileprecisionantimatterammom'] = {['name'] = 'Missile Precision Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.43, ['volume'] = 125}, 820 + ['missileagilekineticammom'] = {['name'] = 'Missile Agile Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 8.13, ['volume'] = 125}, 821 + ['missiledefensekineticammom'] = {['name'] = 'Missile Defense Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 8.06, ['volume'] = 125}, 822 + ['missileheavykineticammom'] = {['name'] = 'Missile Heavy Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 8.61, ['volume'] = 125}, 823 + ['missilekineticammom'] = {['name'] = 'Missile Kinetic Ammo M', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 7.92, ['volume'] = 125}, 824 + ['missileprecisionkineticammom'] = {['name'] = 'Missile Precision Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 8.15, ['volume'] = 125}, 825 + ['missileagileantimatterammol'] = {['name'] = 'Missile Agile Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 27.54, ['volume'] = 625}, 826 + ['missileantimatterammol'] = {['name'] = 'Missile Antimatter Ammo L', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 27.9, ['volume'] = 625}, 827 + ['missiledefenseantimatterammol'] = {['name'] = 'Missile Defense Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.33, ['volume'] = 625}, 828 + ['missileheavyantimatterammol'] = {['name'] = 'Missile Heavy Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 27.4, ['volume'] = 625}, 829 + ['missileprecisionantimatterammol'] = {['name'] = 'Missile Precision Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 27.59, ['volume'] = 625}, 830 + ['missileagilekineticammol'] = {['name'] = 'Missile Agile Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 30.99, ['volume'] = 625}, 831 + ['missiledefensekineticammol'] = {['name'] = 'Missile Defense Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 30.84, ['volume'] = 625}, 832 + ['missileheavykineticammol'] = {['name'] = 'Missile Heavy Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 31.95, ['volume'] = 625}, 833 + ['missilekineticammol'] = {['name'] = 'Missile Kinetic Ammo L', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 31.26, ['volume'] = 625}, 834 + ['missileprecisionkineticammol'] = {['name'] = 'Missile Precision Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 31.04, ['volume'] = 625}, 835 + ['railgunagileantimatterammoxs'] = {['name'] = 'Railgun Agile Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.04, ['volume'] = 10}, 836 + ['railgunantimatterammoxs'] = {['name'] = 'Railgun Antimatter Ammo XS', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 2.01, ['volume'] = 10}, 837 + ['railgundefenseantimatterammoxs'] = {['name'] = 'Railgun Defense Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.02, ['volume'] = 10}, 838 + ['railgunheavyantimatterammoxs'] = {['name'] = 'Railgun Heavy Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.16, ['volume'] = 10}, 839 + ['railgunprecisionantimatterammoxs'] = {['name'] = 'Railgun Precision Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.05, ['volume'] = 10}, 840 + ['railgunagileelectromagneticammoxs'] = {['name'] = 'Railgun Agile Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.77, ['volume'] = 10}, 841 + ['railgundefenseelectromagneticammoxs'] = {['name'] = 'Railgun Defense Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.8, ['volume'] = 10}, 842 + ['railgunelectromagneticammoxs'] = {['name'] = 'Railgun Electromagnetic Ammo XS', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 6.43, ['volume'] = 10}, 843 + ['railgunheavyelectromagneticammoxs'] = {['name'] = 'Railgun Heavy Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.94, ['volume'] = 10}, 844 + ['railgunprecisionelectromagneticammoxs'] = {['name'] = 'Railgun Precision Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.83, ['volume'] = 10}, 845 + ['railgunagileantimatterammos'] = {['name'] = 'Railgun Agile Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 4.96, ['volume'] = 50}, 846 + ['railgunantimatterammos'] = {['name'] = 'Railgun Antimatter Ammo S', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 4.92, ['volume'] = 50}, 847 + ['railgundefenseantimatterammos'] = {['name'] = 'Railgun Defense Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 4.93, ['volume'] = 50}, 848 + ['railgunheavyantimatterammos'] = {['name'] = 'Railgun Heavy Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 5.2, ['volume'] = 50}, 849 + ['railgunprecisionantimatterammos'] = {['name'] = 'Railgun Precision Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 4.97, ['volume'] = 50}, 850 + ['railgunagileelectromagneticammos'] = {['name'] = 'Railgun Agile Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 6.52, ['volume'] = 50}, 851 + ['railgundefenseelectromagneticammos'] = {['name'] = 'Railgun Defense Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 6.49, ['volume'] = 50}, 852 + ['railgunelectromagneticammos'] = {['name'] = 'Railgun Electromagnetic Ammo S', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 6.43, ['volume'] = 50}, 853 + ['railgunheavyelectromagneticammos'] = {['name'] = 'Railgun Heavy Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 6.76, ['volume'] = 50}, 854 + ['railgunprecisionelectromagneticammos'] = {['name'] = 'Railgun Precision Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 6.53, ['volume'] = 50}, 855 + ['railgunagileantimatterammom'] = {['name'] = 'Railgun Agile Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 16.45, ['volume'] = 250}, 856 + ['railgunantimatterammom'] = {['name'] = 'Railgun Antimatter Ammo M', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 16.54, ['volume'] = 250}, 857 + ['railgundefenseantimatterammom'] = {['name'] = 'Railgun Defense Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 16.38, ['volume'] = 250}, 858 + ['railgunheavyantimatterammom'] = {['name'] = 'Railgun Heavy Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 16.93, ['volume'] = 250}, 859 + ['railgunprecisionantimatterammom'] = {['name'] = 'Railgun Precision Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 16.48, ['volume'] = 250}, 860 + ['railgunagileelectromagneticammom'] = {['name'] = 'Railgun Agile Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 19.58, ['volume'] = 250}, 861 + ['railgundefenseelectromagneticammom'] = {['name'] = 'Railgun Defense Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 19.5, ['volume'] = 250}, 862 + ['railgunelectromagneticammom'] = {['name'] = 'Railgun Electromagnetic Ammo M', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 19.56, ['volume'] = 250}, 863 + ['railgunheavyelectromagneticammom'] = {['name'] = 'Railgun Heavy Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 20.06, ['volume'] = 250}, 864 + ['railgunprecisionelectromagneticammom'] = {['name'] = 'Railgun Precision Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 19.6, ['volume'] = 250}, 865 + ['railgunagileantimatterammol'] = {['name'] = 'Railgun Agile Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 79, ['volume'] = 1250}, 866 + ['railgunantimatterammol'] = {['name'] = 'Railgun Antimatter Ammo L', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 80.35, ['volume'] = 1250}, 867 + ['railgundefenseantimatterammol'] = {['name'] = 'Railgun Defense Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 78.86, ['volume'] = 1250}, 868 + ['railgunheavyantimatterammol'] = {['name'] = 'Railgun Heavy Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 79.96, ['volume'] = 1250}, 869 + ['railgunprecisionantimatterammol'] = {['name'] = 'Railgun Precision Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 79.05, ['volume'] = 1250}, 870 + ['railgunagileelectromagneticammol'] = {['name'] = 'Railgun Agile Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 85.24, ['volume'] = 1250}, 871 + ['railgundefenseelectromagneticammol'] = {['name'] = 'Railgun Defense Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 85.1, ['volume'] = 1250}, 872 + ['railgunelectromagneticammol'] = {['name'] = 'Railgun Electromagnetic Ammo L', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 86.4, ['volume'] = 1250}, 873 + ['railgunheavyelectromagneticammol'] = {['name'] = 'Railgun Heavy Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 86.2, ['volume'] = 1250}, 874 + ['railgunprecisionelectromagneticammol'] = {['name'] = 'Railgun Precision Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 85.29, ['volume'] = 1250}, 875 + ['warpcell'] = {['name'] = 'Warp Cell', ['tier'] = 2, ['type'] = 'Warp Cell', ['mass'] = 100, ['volume'] = 40}, 876 + ['warpdrivel'] = {['name'] = 'Warp Drive L', ['tier'] = 1, ['type'] = 'Warp Drive Unit', ['mass'] = 31360, ['volume'] = 75}, 877 + ['warpbeaconxl'] = {['name'] = 'Warp Beacon XL', ['tier'] = 5, ['type'] = 'Warp Beacon Unit', ['mass'] = 148940, ['volume'] = 25360}, 878 + ['hatchs'] = {['name'] = 'Hatch S', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 229.09, ['volume'] = 64}, 879 + ['fuelintakexs'] = {['name'] = 'Fuel Intake XS', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 4.12, ['volume'] = 2}, 880 + ['freightatmosphericenginexs'] = {['name'] = 'Freight Atmospheric Engine XS', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6}, 881 + ['safeatmosphericenginexs'] = {['name'] = 'Safe Atmospheric Engine XS', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6}, 882 + ['maneuveratmosphericenginexs'] = {['name'] = 'Maneuver Atmospheric Engine XS', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6}, 883 + ['militaryatmosphericenginexs'] = {['name'] = 'Military Atmospheric Engine XS', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6}, 884 + ['freightatmosphericengines'] = {['name'] = 'Freight Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6}, 885 + ['maneuveratmosphericengines'] = {['name'] = 'Maneuver Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6}, 886 + ['militaryatmosphericengines'] = {['name'] = 'Military Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6}, 887 + ['safeatmosphericengines'] = {['name'] = 'Safe Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6}, 888 + ['freightatmosphericenginem'] = {['name'] = 'Freight Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2}, 889 + ['maneuveratmosphericenginem'] = {['name'] = 'Maneuver Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2}, 890 + ['militaryatmosphericenginem'] = {['name'] = 'Military Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2}, 891 + ['safeatmosphericenginem'] = {['name'] = 'Safe Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2}, 892 + ['freightatmosphericenginel'] = {['name'] = 'Freight Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4}, 893 + ['maneuveratmosphericenginel'] = {['name'] = 'Maneuver Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4}, 894 + ['militaryatmosphericenginel'] = {['name'] = 'Military Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4}, 895 + ['safeatmosphericenginel'] = {['name'] = 'Safe Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4}, 896 + ['freightspaceenginexs'] = {['name'] = 'Freight Space Engine XS', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33}, 897 + ['maneuverspaceenginexs'] = {['name'] = 'Maneuver Space Engine XS', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33}, 898 + ['militaryspaceenginexs'] = {['name'] = 'Military Space Engine XS', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33}, 899 + ['safespaceenginexs'] = {['name'] = 'Safe Space Engine XS', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33}, 900 + ['freightspaceengines'] = {['name'] = 'Freight Space Engine S', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24}, 901 + ['maneuverspaceengines'] = {['name'] = 'Maneuver Space Engine S', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24}, 902 + ['militaryspaceengines'] = {['name'] = 'Military Space Engine S', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24}, 903 + ['safespaceengines'] = {['name'] = 'Safe Space Engine S', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24}, 904 + ['freightspaceenginem'] = {['name'] = 'Freight Space Engine M', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4}, 905 + ['maneuverspaceenginem'] = {['name'] = 'Maneuver Space Engine M', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4}, 906 + ['militaryspaceenginem'] = {['name'] = 'Military Space Engine M', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4}, 907 + ['safespaceenginem'] = {['name'] = 'Safe Space Engine M', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4}, 908 + ['freightspaceenginel'] = {['name'] = 'Freight Space Engine L', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4}, 909 + ['maneuverspaceenginel'] = {['name'] = 'Maneuver Space Engine L', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4}, 910 + ['militaryspaceenginel'] = {['name'] = 'Military Space Engine L', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4}, 911 + ['safespaceenginel'] = {['name'] = 'Safe Space Engine L', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4}, 912 + ['freightspaceenginexl'] = {['name'] = 'Freight Space Engine XL', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150}, 913 + ['maneuverspaceenginexl'] = {['name'] = 'Maneuver Space Engine XL', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150}, 914 + ['militaryspaceenginexl'] = {['name'] = 'Military Space Engine XL', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150}, 915 + ['safespaceenginexl'] = {['name'] = 'Safe Space Engine XL', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150}, 916 + ['repairunit'] = {['name'] = 'Repair Unit', ['tier'] = 1, ['type'] = 'Combat Element', ['mass'] = 400, ['volume'] = 0}, 917 + ['surrogatepodstation'] = {['name'] = 'Surrogate Pod Station', ['tier'] = 1, ['type'] = 'Surrogate Element', ['mass'] = 569.52, ['volume'] = 360}, 918 + ['surrogatevrstation'] = {['name'] = 'Surrogate VR Station', ['tier'] = 1, ['type'] = 'Surrogate Element', ['mass'] = 742.42, ['volume'] = 360.2} 919 + }
-151
Master program/source/library/start_5.lua
··· 1 - --[[ 2 - Custom JSON Parser and Encoder to use less CPU 3 - Original script from : https://gist.github.com/tylerneylon/59f4bcf316be525b30ab 4 - Modified for DualUniverse by jericho 5 - ]] 6 - 7 - MyJson = {} 8 - 9 - 10 - -- Internal functions. 11 - 12 - local function kind_of(obj) 13 - if type(obj) ~= 'table' then return type(obj) end 14 - local i = 1 15 - for _ in pairs(obj) do 16 - if obj[i] ~= nil then i = i + 1 else return 'table' end 17 - end 18 - if i == 1 then return 'table' else return 'array' end 19 - end 20 - 21 - local function escape_str(s) 22 - local in_char = {'\\', '"', '/', '\b', '\f', '\n', '\r', '\t'} 23 - local out_char = {'\\', '"', '/', 'b', 'f', 'n', 'r', 't'} 24 - for i, c in ipairs(in_char) do 25 - s = s:gsub(c, '\\' .. out_char[i]) 26 - end 27 - return s 28 - end 29 - 30 - -- Returns pos, did_find; there are two cases: 31 - -- 1. Delimiter found: pos = pos after leading space + delim; did_find = true. 32 - -- 2. Delimiter not found: pos = pos after leading space; did_find = false. 33 - -- This throws an error if err_if_missing is true and the delim is not found. 34 - local function skip_delim(str, pos, delim, err_if_missing) 35 - pos = pos + #str:match('^%s*', pos) 36 - if str:sub(pos, pos) ~= delim then 37 - if err_if_missing then 38 - error('Expected ' .. delim .. ' near position ' .. pos) 39 - end 40 - return pos, false 41 - end 42 - return pos + 1, true 43 - end 44 - 45 - -- Expects the given pos to be the first character after the opening quote. 46 - -- Returns val, pos; the returned pos is after the closing quote character. 47 - local function parse_str_val(str, pos, val) 48 - val = val or '' 49 - local early_end_error = 'End of input found while parsing string.' 50 - if pos > #str then error(early_end_error) end 51 - local c = str:sub(pos, pos) 52 - if c == '"' then return val, pos + 1 end 53 - if c ~= '\\' then return parse_str_val(str, pos + 1, val .. c) end 54 - -- We must have a \ character. 55 - local esc_map = {b = '\b', f = '\f', n = '\n', r = '\r', t = '\t'} 56 - local nextc = str:sub(pos + 1, pos + 1) 57 - if not nextc then error(early_end_error) end 58 - return parse_str_val(str, pos + 2, val .. (esc_map[nextc] or nextc)) 59 - end 60 - 61 - -- Returns val, pos; the returned pos is after the number's final character. 62 - local function parse_num_val(str, pos) 63 - local num_str = str:match('^-?%d+%.?%d*[eE]?[+-]?%d*', pos) 64 - local val = tonumber(num_str) 65 - if not val then error('Error parsing number at position ' .. pos .. '.') end 66 - return val, pos + #num_str 67 - end 68 - 69 - 70 - -- Public values and functions. 71 - 72 - function MyJson.stringify(obj, as_key) 73 - local s = {} -- We'll build the string as an array of strings to be concatenated. 74 - local kind = kind_of(obj) -- This is 'array' if it's an array or type(obj) otherwise. 75 - if kind == 'array' then 76 - if as_key then error('Can\'t encode array as key.') end 77 - s[#s + 1] = '[' 78 - for i, val in ipairs(obj) do 79 - if i > 1 then s[#s + 1] = ', ' end 80 - s[#s + 1] = MyJson.stringify(val) 81 - end 82 - s[#s + 1] = ']' 83 - elseif kind == 'table' then 84 - if as_key then error('Can\'t encode table as key.') end 85 - s[#s + 1] = '{' 86 - for k, v in pairs(obj) do 87 - if #s > 1 then s[#s + 1] = ', ' end 88 - s[#s + 1] = MyJson.stringify(k, true) 89 - s[#s + 1] = ':' 90 - s[#s + 1] = MyJson.stringify(v) 91 - end 92 - s[#s + 1] = '}' 93 - elseif kind == 'string' then 94 - return '"' .. escape_str(obj) .. '"' 95 - elseif kind == 'number' then 96 - if as_key then return '"' .. tostring(obj) .. '"' end 97 - return tostring(obj) 98 - elseif kind == 'boolean' then 99 - return tostring(obj) 100 - elseif kind == 'nil' then 101 - return 'null' 102 - else 103 - error('Unjsonifiable type: ' .. kind .. '.') 104 - end 105 - return table.concat(s) 106 - end 107 - 108 - MyJson.null = {} -- This is a one-off table to represent the null value. 109 - 110 - function MyJson.parse(str, pos, end_delim) 111 - pos = pos or 1 112 - if pos > #str then error('Reached unexpected end of input.') end 113 - local pos = pos + #str:match('^%s*', pos) -- Skip whitespace. 114 - local first = str:sub(pos, pos) 115 - if first == '{' then -- Parse an object. 116 - local obj, key, delim_found = {}, true, true 117 - pos = pos + 1 118 - while true do 119 - key, pos = MyJson.parse(str, pos, '}') 120 - if key == nil then return obj, pos end 121 - if not delim_found then error('Comma missing between object items.') end 122 - pos = skip_delim(str, pos, ':', true) -- true -> error if missing. 123 - obj[key], pos = MyJson.parse(str, pos) 124 - pos, delim_found = skip_delim(str, pos, ',') 125 - end 126 - elseif first == '[' then -- Parse an array. 127 - local arr, val, delim_found = {}, true, true 128 - pos = pos + 1 129 - while true do 130 - val, pos = MyJson.parse(str, pos, ']') 131 - if val == nil then return arr, pos end 132 - if not delim_found then error('Comma missing between array items.') end 133 - arr[#arr + 1] = val 134 - pos, delim_found = skip_delim(str, pos, ',') 135 - end 136 - elseif first == '"' then -- Parse a string. 137 - return parse_str_val(str, pos + 1) 138 - elseif first == '-' or first:match('%d') then -- Parse a number. 139 - return parse_num_val(str, pos) 140 - elseif first == end_delim then -- End of an object or array. 141 - return nil, pos + 1 142 - else -- Parse true, false, or null. 143 - local literals = {['true'] = true, ['false'] = false, ['null'] = MyJson.null} 144 - for lit_str, lit_val in pairs(literals) do 145 - local lit_end = pos + #lit_str - 1 146 - if str:sub(pos, lit_end) == lit_str then return lit_val, lit_end + 1 end 147 - end 148 - local pos_info_str = 'position ' .. pos .. ': ' .. str:sub(pos, pos + 10) 149 - error('Invalid json syntax starting at ' .. pos_info_str) 150 - end 151 - end
-919
Master program/source/library/start_6.lua
··· 1 - --[[ 2 - All Games Recipes in a table 3 - Based on the public script published by D.Mentia on Discord 4 - Updated By Glorek and Jericho 5 - ]] 6 - 7 - -- clean the name from specific char, etc. 8 - function cleanName(name) 9 - if name ~= nil and name:len() > 0 then 10 - name = string.gsub(name:lower(), "-", "") 11 - else 12 - name = "unknown" 13 - end 14 - return name:gsub("%s+", "") 15 - end 16 - 17 - -- return an ingredient fron it's name 18 - function getIngredient(name) 19 - local cleanname = "unknown" 20 - if name ~= nil and name:len() > 0 then 21 - cleanname = cleanName(name) 22 - end 23 - local ingredient = Ingredients[cleanname] 24 - if not ingredient and cleanname:find('pure') then 25 - ingredient = Ingredients['pure' .. cleanname:gsub('pure', '')] 26 - end 27 - if not ingredient then 28 - for key,value in pairs(Ingredients) do 29 - if key:find(cleanname) then 30 - ingredient = value 31 - break 32 - end 33 - end 34 - end 35 - if not ingredient then 36 - --system.print('Error [Ingredient not found]: '..name) 37 - ingredient = Ingredients['unknown'] 38 - end 39 - return ingredient 40 - end 41 - 42 - Ingredients = { 43 - ['unknown'] = {['name'] = 'unknown', ['tier'] = 1, ['type'] = 'error', ['mass'] = 1, ['volume'] = 1}, 44 - ['bauxite'] = {['name'] = 'Bauxite', ['tier'] = 1, ['type'] = 'Ore', ['mass'] = 1.28, ['volume'] = 1}, 45 - ['coal'] = {['name'] = 'Coal', ['tier'] = 1, ['type'] = 'Ore', ['mass'] = 1.35, ['volume'] = 1}, 46 - ['quartz'] = {['name'] = 'Quartz', ['tier'] = 1, ['type'] = 'Ore', ['mass'] = 2.65, ['volume'] = 1}, 47 - ['hematite'] = {['name'] = 'Hematite', ['tier'] = 1, ['type'] = 'Ore', ['mass'] = 5.04, ['volume'] = 1}, 48 - ['chromite'] = {['name'] = 'Chromite', ['tier'] = 2, ['type'] = 'Ore', ['mass'] = 4.54, ['volume'] = 1}, 49 - ['malachite'] = {['name'] = 'Malachite', ['tier'] = 2, ['type'] = 'Ore', ['mass'] = 4, ['volume'] = 1}, 50 - ['limestone'] = {['name'] = 'Limestone', ['tier'] = 2, ['type'] = 'Ore', ['mass'] = 2.71, ['volume'] = 1}, 51 - ['natron'] = {['name'] = 'Natron', ['tier'] = 2, ['type'] = 'Ore', ['mass'] = 1.55, ['volume'] = 1}, 52 - ['petalite'] = {['name'] = 'Petalite', ['tier'] = 3, ['type'] = 'Ore', ['mass'] = 2.41, ['volume'] = 1}, 53 - ['garnierite'] = {['name'] = 'Garnierite', ['tier'] = 3, ['type'] = 'Ore', ['mass'] = 2.6, ['volume'] = 1}, 54 - ['acanthite'] = {['name'] = 'Acanthite', ['tier'] = 3, ['type'] = 'Ore', ['mass'] = 7.2, ['volume'] = 1}, 55 - ['pyrite'] = {['name'] = 'Pyrite', ['tier'] = 3, ['type'] = 'Ore', ['mass'] = 5.01, ['volume'] = 1}, 56 - ['cobaltite'] = {['name'] = 'Cobaltite', ['tier'] = 4, ['type'] = 'Ore', ['mass'] = 6.33, ['volume'] = 1}, 57 - ['cryolite'] = {['name'] = 'Cryolite', ['tier'] = 4, ['type'] = 'Ore', ['mass'] = 2.95, ['volume'] = 1}, 58 - ['kolbeckite'] = {['name'] = 'Kolbeckite', ['tier'] = 4, ['type'] = 'Ore', ['mass'] = 2.37, ['volume'] = 1}, 59 - ['goldnuggets'] = {['name'] = 'Gold Nuggets', ['tier'] = 4, ['type'] = 'Ore', ['mass'] = 19.3, ['volume'] = 1}, 60 - ['rhodonite'] = {['name'] = 'Rhodonite', ['tier'] = 5, ['type'] = 'Ore', ['mass'] = 3.76, ['volume'] = 1}, 61 - ['columbite'] = {['name'] = 'Columbite', ['tier'] = 5, ['type'] = 'Ore', ['mass'] = 5.38, ['volume'] = 1}, 62 - ['illmenite'] = {['name'] = 'Illmenite', ['tier'] = 5, ['type'] = 'Ore', ['mass'] = 4.55, ['volume'] = 1}, 63 - ['vanadinite'] = {['name'] = 'Vanadinite', ['tier'] = 5, ['type'] = 'Ore', ['mass'] = 6.95, ['volume'] = 1}, 64 - ['pureoxygen'] = {['name'] = 'Pure Oxygen', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 1, ['volume'] = 1}, 65 - ['purehydrogen'] = {['name'] = 'Pure Hydrogen', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 0.07, ['volume'] = 1}, 66 - ['purealuminium'] = {['name'] = 'Pure Aluminium', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 2.7, ['volume'] = 1}, 67 - ['purecarbon'] = {['name'] = 'Pure Carbon', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 2.27, ['volume'] = 1}, 68 - ['puresilicon'] = {['name'] = 'Pure Silicon', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 2.33, ['volume'] = 1}, 69 - ['pureiron'] = {['name'] = 'Pure Iron', ['tier'] = 1, ['type'] = 'Pure', ['mass'] = 7.85, ['volume'] = 1}, 70 - ['purecalcium'] = {['name'] = 'Pure Calcium', ['tier'] = 2, ['type'] = 'Pure', ['mass'] = 1.55, ['volume'] = 1}, 71 - ['purechromium'] = {['name'] = 'Pure Chromium', ['tier'] = 2, ['type'] = 'Pure', ['mass'] = 7.19, ['volume'] = 1}, 72 - ['purecopper'] = {['name'] = 'Pure Copper', ['tier'] = 2, ['type'] = 'Pure', ['mass'] = 8.96, ['volume'] = 1}, 73 - ['puresodium'] = {['name'] = 'Pure Sodium', ['tier'] = 2, ['type'] = 'Pure', ['mass'] = 0.97, ['volume'] = 1}, 74 - ['purelithium'] = {['name'] = 'Pure Lithium', ['tier'] = 3, ['type'] = 'Pure', ['mass'] = 0.53, ['volume'] = 1}, 75 - ['purenickel'] = {['name'] = 'Pure Nickel', ['tier'] = 3, ['type'] = 'Pure', ['mass'] = 8.91, ['volume'] = 1}, 76 - ['puresilver'] = {['name'] = 'Pure Silver', ['tier'] = 3, ['type'] = 'Pure', ['mass'] = 10.49, ['volume'] = 1}, 77 - ['puresulfur'] = {['name'] = 'Pure Sulfur', ['tier'] = 3, ['type'] = 'Pure', ['mass'] = 1.82, ['volume'] = 1}, 78 - ['purecobalt'] = {['name'] = 'Pure Cobalt', ['tier'] = 4, ['type'] = 'Pure', ['mass'] = 8.9, ['volume'] = 1}, 79 - ['purefluorine'] = {['name'] = 'Pure Fluorine', ['tier'] = 4, ['type'] = 'Pure', ['mass'] = 1.7, ['volume'] = 1}, 80 - ['puregold'] = {['name'] = 'Pure Gold', ['tier'] = 4, ['type'] = 'Pure', ['mass'] = 19.3, ['volume'] = 1}, 81 - ['purescandium'] = {['name'] = 'Pure Scandium', ['tier'] = 4, ['type'] = 'Pure', ['mass'] = 2.98, ['volume'] = 1}, 82 - ['puremanganese'] = {['name'] = 'Pure Manganese', ['tier'] = 5, ['type'] = 'Pure', ['mass'] = 7.21, ['volume'] = 1}, 83 - ['pureniobium'] = {['name'] = 'Pure Niobium', ['tier'] = 5, ['type'] = 'Pure', ['mass'] = 8.57, ['volume'] = 1}, 84 - ['puretitanium'] = {['name'] = 'Pure Titanium', ['tier'] = 5, ['type'] = 'Pure', ['mass'] = 4.51, ['volume'] = 1}, 85 - ['purevanadium'] = {['name'] = 'Pure Vanadium', ['tier'] = 5, ['type'] = 'Pure', ['mass'] = 6, ['volume'] = 1}, 86 - ['catalyst3'] = {['name'] = 'Catalyst 3', ['tier'] = 3, ['type'] = 'Catalyst', ['mass'] = 649.39, ['volume'] = 1}, 87 - ['catalyst4'] = {['name'] = 'Catalyst 4', ['tier'] = 4, ['type'] = 'Catalyst', ['mass'] = 606.65, ['volume'] = 1}, 88 - ['catalyst5'] = {['name'] = 'Catalyst 5', ['tier'] = 5, ['type'] = 'Catalyst', ['mass'] = 657.68, ['volume'] = 1}, 89 - ['nitronfuel'] = {['name'] = 'Nitron Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 4, ['volume'] = 1}, 90 - ['kergonx1fuel'] = {['name'] = 'Kergon-X1 Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 6, ['volume'] = 1}, 91 - ['kergonx2fuel'] = {['name'] = 'Kergon-X2 Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 6, ['volume'] = 1}, 92 - ['kergonx3fuel'] = {['name'] = 'Kergon-X3 Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 6, ['volume'] = 1}, 93 - ['kergonx4fuel'] = {['name'] = 'Kergon-X4 Fuel', ['tier'] = 1, ['type'] = 'Fuel', ['mass'] = 6, ['volume'] = 1}, 94 - ['xeronfuel'] = {['name'] = 'Xeron Fuel', ['tier'] = 2, ['type'] = 'Fuel', ['mass'] = 0.8, ['volume'] = 1}, 95 - ['alfealloy'] = {['name'] = 'Al-Fe Alloy', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 7.5, ['volume'] = 1}, 96 - ['allialloy'] = {['name'] = 'Al-Li Alloy', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 2.5, ['volume'] = 1}, 97 - ['calciumreinforcedcopper'] = {['name'] = 'Calcium Reinforced Copper', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 8.1, ['volume'] = 1}, 98 - ['cuagalloy'] = {['name'] = 'Cu-Ag Alloy', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 9.2, ['volume'] = 1}, 99 - ['duralumin'] = {['name'] = 'Duralumin', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 2.8, ['volume'] = 1}, 100 - ['grade5titaniumalloy'] = {['name'] = 'Grade 5 Titanium Alloy', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 4.43, ['volume'] = 1}, 101 - ['inconel'] = {['name'] = 'Inconel', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 8.5, ['volume'] = 1}, 102 - ['mangalloy'] = {['name'] = 'Mangalloy', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 7.83, ['volume'] = 1}, 103 - ['maragingsteel'] = {['name'] = 'Maraging Steel', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 8.23, ['volume'] = 1}, 104 - ['redgold'] = {['name'] = 'Red Gold', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 14.13, ['volume'] = 1}, 105 - ['scalalloy'] = {['name'] = 'Sc-Al Alloy', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 2.85, ['volume'] = 1}, 106 - ['stainlesssteel'] = {['name'] = 'Stainless Steel', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 7.75, ['volume'] = 1}, 107 - ['tinbsupraconductor'] = {['name'] = 'Ti-Nb Supraconductor', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 10.1, ['volume'] = 1}, 108 - ['biologicalmatter'] = {['name'] = 'Biological Matter', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 1, ['volume'] = 1}, 109 - ['brick'] = {['name'] = 'Brick', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 1.92, ['volume'] = 1}, 110 - ['marble'] = {['name'] = 'Marble', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 2.7, ['volume'] = 1}, 111 - ['concrete'] = {['name'] = 'Concrete', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 2.41, ['volume'] = 1}, 112 - ['carbonfiber'] = {['name'] = 'Carbon Fiber', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 1.5, ['volume'] = 1}, 113 - ['glass'] = {['name'] = 'Glass', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 2.5, ['volume'] = 1}, 114 - ['advancedglass'] = {['name'] = 'Advanced Glass', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 2.6, ['volume'] = 1}, 115 - ['aglireinforcedglass'] = {['name'] = 'Ag-Li Reinforced Glass', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 2.8, ['volume'] = 1}, 116 - ['goldcoatedglass'] = {['name'] = 'Gold Coated Glass', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 3, ['volume'] = 1}, 117 - ['manganesereinforcedglass'] = {['name'] = 'Manganese Reinforced Glass', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 2.9, ['volume'] = 1}, 118 - ['polycarbonateplastic'] = {['name'] = 'Polycarbonate Plastic', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 1.4, ['volume'] = 1}, 119 - ['polycalciteplastic'] = {['name'] = 'Polycalcite Plastic', ['tier'] = 2, ['type'] = 'Product', ['mass'] = 1.5, ['volume'] = 1}, 120 - ['polysulfideplastic'] = {['name'] = 'Polysulfide Plastic', ['tier'] = 3, ['type'] = 'Product', ['mass'] = 1.6, ['volume'] = 1}, 121 - ['fluoropolymer'] = {['name'] = 'Fluoropolymer', ['tier'] = 4, ['type'] = 'Product', ['mass'] = 1.65, ['volume'] = 1}, 122 - ['vanamer'] = {['name'] = 'Vanamer', ['tier'] = 5, ['type'] = 'Product', ['mass'] = 1.57, ['volume'] = 1}, 123 - ['silumin'] = {['name'] = 'Silumin', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 3, ['volume'] = 1}, 124 - ['steel'] = {['name'] = 'Steel', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 8.05, ['volume'] = 1}, 125 - ['wood'] = {['name'] = 'Wood', ['tier'] = 1, ['type'] = 'Product', ['mass'] = 0.6, ['volume'] = 1}, 126 - ['basiccomponent'] = {['name'] = 'Basic Component', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 2.25, ['volume'] = 0.5}, 127 - ['uncommoncomponent'] = {['name'] = 'Uncommon Component', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 2.34, ['volume'] = 0.8}, 128 - ['advancedcomponent'] = {['name'] = 'Advanced Component', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 2.51, ['volume'] = 0.8}, 129 - ['basicconnector'] = {['name'] = 'Basic Connector', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 3.75, ['volume'] = 0.8}, 130 - ['uncommonconnector'] = {['name'] = 'Uncommon Connector', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 3.9, ['volume'] = 0.8}, 131 - ['advancedconnector'] = {['name'] = 'Advanced Connector', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 4.18, ['volume'] = 0.8}, 132 - ['basicfixation'] = {['name'] = 'Basic Fixation', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 1.12, ['volume'] = 1}, 133 - ['uncommonfixation'] = {['name'] = 'Uncommon Fixation', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 1.16, ['volume'] = 1}, 134 - ['advancedfixation'] = {['name'] = 'Advanced Fixation', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 1.21, ['volume'] = 1}, 135 - ['basicled'] = {['name'] = 'Basic LED', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 1.25, ['volume'] = 1}, 136 - ['uncommonled'] = {['name'] = 'Uncommon LED', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 1.27, ['volume'] = 1}, 137 - ['advancedled'] = {['name'] = 'Advanced LED', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 1.32, ['volume'] = 1}, 138 - ['basicpipe'] = {['name'] = 'Basic Pipe', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 2.4, ['volume'] = 1}, 139 - ['uncommonpipe'] = {['name'] = 'Uncommon Pipe', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 2.32, ['volume'] = 1}, 140 - ['advancedpipe'] = {['name'] = 'Advanced Pipe', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 2.19, ['volume'] = 1}, 141 - ['basicscrew'] = {['name'] = 'Basic Screw', ['tier'] = 1, ['type'] = 'Intermediary Part', ['mass'] = 8.05, ['volume'] = 1}, 142 - ['uncommonscrew'] = {['name'] = 'Uncommon Screw', ['tier'] = 2, ['type'] = 'Intermediary Part', ['mass'] = 7.9, ['volume'] = 1}, 143 - ['advancedscrew'] = {['name'] = 'Advanced Screw', ['tier'] = 3, ['type'] = 'Intermediary Part', ['mass'] = 8.14, ['volume'] = 1}, 144 - ['basicantimattercapsule'] = {['name'] = 'Basic Anti-Matter Capsule', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 24, ['volume'] = 4.6}, 145 - ['uncommonantimattercapsule'] = {['name'] = 'Uncommon Anti-Matter Capsule', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 24.32, ['volume'] = 4.6}, 146 - ['advancedantimattercapsule'] = {['name'] = 'Advanced Anti-Matter Capsule', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 24.88, ['volume'] = 4.6}, 147 - ['rareantimattercapsule'] = {['name'] = 'Rare Anti-Matter Capsule', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 25.8, ['volume'] = 4.6}, 148 - ['exoticantimattercapsule'] = {['name'] = 'Exotic Anti-Matter Capsule', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 26.73, ['volume'] = 4.6}, 149 - ['basicburner'] = {['name'] = 'Basic Burner', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 50.2, ['volume'] = 10}, 150 - ['uncommonburner'] = {['name'] = 'Uncommon Burner', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 49.4, ['volume'] = 10}, 151 - ['advancedburner'] = {['name'] = 'Advanced Burner', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 48.5, ['volume'] = 10}, 152 - ['basicelectronics'] = {['name'] = 'Basic Electronics', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 5.22, ['volume'] = 4}, 153 - ['uncommonelectronics'] = {['name'] = 'Uncommon Electronics', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 5.34, ['volume'] = 4}, 154 - ['advancedelectronics'] = {['name'] = 'Advanced Electronics', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 5.45, ['volume'] = 4}, 155 - ['rareelectronics'] = {['name'] = 'Rare Electronics', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 5.63, ['volume'] = 4}, 156 - ['exoticelectronics'] = {['name'] = 'Exotic Electronics', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 5.77, ['volume'] = 4}, 157 - ['basicexplosivemodule'] = {['name'] = 'Basic Explosive Module', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 18.72, ['volume'] = 4.6}, 158 - ['uncommonexplosivemodule'] = {['name'] = 'Uncommon Explosive Module', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 19.04, ['volume'] = 4.6}, 159 - ['advancedexplosivemodule'] = {['name'] = 'Advanced Explosive Module', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 19.04, ['volume'] = 4.6}, 160 - ['basichydraulics'] = {['name'] = 'Basic Hydraulics', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 28.95, ['volume'] = 10}, 161 - ['uncommonhydraulics'] = {['name'] = 'Uncommon Hydraulics', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 28.35, ['volume'] = 10}, 162 - ['advancedhydraulics'] = {['name'] = 'Advanced Hydraulics', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 29.02, ['volume'] = 10}, 163 - ['basicinjector'] = {['name'] = 'Basic Injector', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 20.3, ['volume'] = 10}, 164 - ['uncommoninjector'] = {['name'] = 'Uncommon Injector', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 20.5, ['volume'] = 10}, 165 - ['advancedinjector'] = {['name'] = 'Advanced Injector', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 20.45, ['volume'] = 10}, 166 - ['basicmagnet'] = {['name'] = 'Basic Magnet', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 63.3, ['volume'] = 7.36}, 167 - ['uncommonmagnet'] = {['name'] = 'Uncommon Magnet', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 62.1, ['volume'] = 7.36}, 168 - ['advancedmagnet'] = {['name'] = 'Advanced Magnet', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 63.89, ['volume'] = 7.36}, 169 - ['raremagnet'] = {['name'] = 'Rare Magnet', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 64.4, ['volume'] = 7.36}, 170 - ['exoticmagnet'] = {['name'] = 'Exotic Magnet', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 65.13, ['volume'] = 7.36}, 171 - ['basicoptics'] = {['name'] = 'Basic Optics', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 9.74, ['volume'] = 10}, 172 - ['uncommonoptics'] = {['name'] = 'Uncommon Optics', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 9.94, ['volume'] = 10}, 173 - ['advancedoptics'] = {['name'] = 'Advanced Optics', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 10.18, ['volume'] = 10}, 174 - ['rareoptics'] = {['name'] = 'Rare Optics', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 10.7, ['volume'] = 10}, 175 - ['basicpowersystem'] = {['name'] = 'Basic Power System', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 60, ['volume'] = 9.2}, 176 - ['uncommonpowersystem'] = {['name'] = 'Uncommon Power System', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 62.4, ['volume'] = 9.2}, 177 - ['advancedpowersystem'] = {['name'] = 'Advanced Power System', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 64.9, ['volume'] = 9.2}, 178 - ['rarepowersystem'] = {['name'] = 'Rare Power System', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 78.31, ['volume'] = 9.2}, 179 - ['exoticpowersystem'] = {['name'] = 'Exotic Power System', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 82.87, ['volume'] = 9.2}, 180 - ['basicprocessor'] = {['name'] = 'Basic Processor', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 14.84, ['volume'] = 5}, 181 - ['uncommonprocessor'] = {['name'] = 'Uncommon Processor', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 15.56, ['volume'] = 5}, 182 - ['advancedprocessor'] = {['name'] = 'Advanced Processor', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 15.56, ['volume'] = 5}, 183 - ['exoticprocessor'] = {['name'] = 'Exotic Processor', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 21.47, ['volume'] = 5}, 184 - ['basicquantumcoreunit'] = {['name'] = 'Basic Quantum Core Unit', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 10.72, ['volume'] = 5}, 185 - ['uncommonquantumcoreunit'] = {['name'] = 'Uncommon Quantum Core', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 11.04, ['volume'] = 5}, 186 - ['advancedquantumcoreunit'] = {['name'] = 'Advanced Quantum Core', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 11.24, ['volume'] = 5}, 187 - ['rarequantumcore'] = {['name'] = 'Rare Quantum Core', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 11.66, ['volume'] = 5}, 188 - ['exoticquantumcore'] = {['name'] = 'Exotic Quantum Core', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 11.66, ['volume'] = 5}, 189 - ['basicsingularitycontainer'] = {['name'] = 'Basic Singularity Container', ['tier'] = 1, ['type'] = 'Complex Part', ['mass'] = 45.36, ['volume'] = 4}, 190 - ['uncommonsingularitycontainer'] = {['name'] = 'Uncommon Singularity Container', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 44.88, ['volume'] = 4}, 191 - ['advancedsingularitycontainer'] = {['name'] = 'Advanced Singularity Container', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 46.22, ['volume'] = 4}, 192 - ['raresingularitycontainer'] = {['name'] = 'Rare Singularity Container', ['tier'] = 4, ['type'] = 'Complex Part', ['mass'] = 46.58, ['volume'] = 4}, 193 - ['exoticsingularitycontainer'] = {['name'] = 'Exotic Singularity Container', ['tier'] = 5, ['type'] = 'Complex Part', ['mass'] = 46.98, ['volume'] = 4}, 194 - ['uncommonsolidwarhead'] = {['name'] = 'Uncommon Solid Warhead', ['tier'] = 2, ['type'] = 'Complex Part', ['mass'] = 45.36, ['volume'] = 5}, 195 - ['advancedsolidwarhead'] = {['name'] = 'Advanced Solid Warhead', ['tier'] = 3, ['type'] = 'Complex Part', ['mass'] = 46.43, ['volume'] = 5}, 196 - ['advancedantigravitycore'] = {['name'] = 'Advanced Anti-Gravity Core', ['tier'] = 3, ['type'] = 'Exceptional Part', ['mass'] = 117.05, ['volume'] = 20}, 197 - ['rareantigravitycore'] = {['name'] = 'Rare Anti-Gravity Core', ['tier'] = 4, ['type'] = 'Exceptional Part', ['mass'] = 123.22, ['volume'] = 22.5}, 198 - ['exoticantigravitycore'] = {['name'] = 'Exotic Anti-Gravity Core', ['tier'] = 5, ['type'] = 'Exceptional Part', ['mass'] = 133.06, ['volume'] = 25}, 199 - ['advancedquantumalignmentunit'] = {['name'] = 'Advanced Quantum Alignment Unit', ['tier'] = 3, ['type'] = 'Exceptional Part', ['mass'] = 35.78, ['volume'] = 25}, 200 - ['exoticquantumalignmentunit'] = {['name'] = 'Exotic Quantum Alignment Unit', ['tier'] = 5, ['type'] = 'Exceptional Part', ['mass'] = 43.24, ['volume'] = 30}, 201 - ['advancedquantumbarrier'] = {['name'] = 'Advanced Quantum Barrier', ['tier'] = 3, ['type'] = 'Exceptional Part', ['mass'] = 43.38, ['volume'] = 25}, 202 - ['advancedantimattercoreunit'] = {['name'] = 'Advanced Anti-Matter Core Unit', ['tier'] = 3, ['type'] = 'Exceptional Part', ['mass'] = 107.08, ['volume'] = 21.5}, 203 - ['exoticantimattercoreunit'] = {['name'] = 'Exotic Anti-Matter Core Unit', ['tier'] = 5, ['type'] = 'Exceptional Part', ['mass'] = 158.05, ['volume'] = 26.5}, 204 - ['basicantennaxs'] = {['name'] = 'Basic Antenna XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 60.44, ['volume'] = 8.96}, 205 - ['basicantennas'] = {['name'] = 'Basic Antenna S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 314.2, ['volume'] = 46.4}, 206 - ['uncommonantennaxs'] = {['name'] = 'Uncommon Antenna XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 117.16, ['volume'] = 17.12}, 207 - ['uncommonantennas'] = {['name'] = 'Uncommon Antenna S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 379.2, ['volume'] = 54.56}, 208 - ['uncommonantennam'] = {['name'] = 'Uncommon Antenna M', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 1770, ['volume'] = 251.36}, 209 - ['uncommonantennal'] = {['name'] = 'Uncommon Antenna L', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 9240, ['volume'] = 1302.56}, 210 - ['advancedantennas'] = {['name'] = 'Advanced Antenna S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 389.74, ['volume'] = 54.56}, 211 - ['exoticantennam'] = {['name'] = 'Exotic Antenna M', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 2140, ['volume'] = 250.56}, 212 - ['exoticantennal'] = {['name'] = 'Exotic Antenna L', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 11250, ['volume'] = 1301.76}, 213 - ['exoticantennaxl'] = {['name'] = 'Exotic Antenna XL', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 61580, ['volume'] = 7028.16}, 214 - ['basicchemicalcontainerxs'] = {['name'] = 'Basic Chemical Container XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 8.13, ['volume'] = 4.8}, 215 - ['basicchemicalcontainers'] = {['name'] = 'Basic Chemical Container S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 43.67, ['volume'] = 25.6}, 216 - ['basicchemicalcontainerm'] = {['name'] = 'Basic Chemical Container M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 239.38, ['volume'] = 139.2}, 217 - ['basicchemicalcontainerl'] = {['name'] = 'Basic Chemical Container L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1340, ['volume'] = 774.4}, 218 - ['basicchemicalcontainerxl'] = {['name'] = 'Basic Chemical Container XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 7750, ['volume'] = 4420.8}, 219 - ['advancedchemicalcontainers'] = {['name'] = 'Advanced Chemical Container S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 48.85, ['volume'] = 29.6}, 220 - ['advancedchemicalcontainerm'] = {['name'] = 'Advanced Chemical Container M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 235.25, ['volume'] = 143.2}, 221 - ['advancedchemicalcontainerl'] = {['name'] = 'Advanced Chemical Container L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1270, ['volume'] = 778.4}, 222 - ['advancedchemicalcontainerxl'] = {['name'] = 'Advanced Chemical Container XL', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 7190, ['volume'] = 4424.8}, 223 - ['basiccombustionchamberxs'] = {['name'] = 'Basic Combustion Chamber XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 60.65, ['volume'] = 9.6}, 224 - ['basiccombustionchambers'] = {['name'] = 'Basic Combustion Chamber S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 319.35, ['volume'] = 49.6}, 225 - ['basiccombustionchamberm'] = {['name'] = 'Basic Combustion Chamber M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1710, ['volume'] = 259.2}, 226 - ['basiccombustionchamberl'] = {['name'] = 'Basic Combustion Chamber L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 9340, ['volume'] = 1374.4}, 227 - ['uncommoncombustionchamberxs'] = {['name'] = 'Uncommon Combustion Chamber XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 112.07, ['volume'] = 18.4}, 228 - ['uncommoncombustionchambers'] = {['name'] = 'Uncommon Combustion Chamber S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 366.33, ['volume'] = 58.4}, 229 - ['uncommoncombustionchamberm'] = {['name'] = 'Uncommon Combustion Chamber M', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 1730, ['volume'] = 268}, 230 - ['uncommoncombustionchamberl'] = {['name'] = 'Uncommon Combustion Chamber L', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 9210, ['volume'] = 1383.2}, 231 - ['advancedcombustionchamberxs'] = {['name'] = 'Advanced Combustion Chamber XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 163.51, ['volume'] = 27.2}, 232 - ['advancedcombustionchambers'] = {['name'] = 'Advanced Combustion Chamber S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 369.5, ['volume'] = 58.4}, 233 - ['advancedcombustionchamberm'] = {['name'] = 'Advanced Combustion Chamber M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1760, ['volume'] = 268}, 234 - ['basiccontrolsystemxs'] = {['name'] = 'Basic Control System XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 9.25, ['volume'] = 5.2}, 235 - ['basiccontrolsystems'] = {['name'] = 'Basic Control System S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 47.63, ['volume'] = 27.6}, 236 - ['basiccontrolsystemm'] = {['name'] = 'Basic Control System M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 247.97, ['volume'] = 149.2}, 237 - ['advancedcontrolsystems'] = {['name'] = 'Advanced Control System S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 59.35, ['volume'] = 32}, 238 - ['advancedcontrolsystemm'] = {['name'] = 'Advanced Control System M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 272.97, ['volume'] = 153.6}, 239 - ['advancedcontrolsysteml'] = {['name'] = 'Advanced Control System L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1410, ['volume'] = 828.8}, 240 - ['basiccoreunitsystemxs'] = {['name'] = 'Basic Core System XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 4.43, ['volume'] = 4.4}, 241 - ['basiccoreunitsystems'] = {['name'] = 'Basic Core System S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 23.57, ['volume'] = 23.6}, 242 - ['uncommoncoresystems'] = {['name'] = 'Uncommon Core System S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 28.08, ['volume'] = 27.2}, 243 - ['uncommoncoresystemm'] = {['name'] = 'Uncommon Core System M', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 28.08, ['volume'] = 135.75}, 244 - ['uncommoncoresysteml'] = {['name'] = 'Uncommon Core System L', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 737.1, ['volume'] = 728}, 245 - ['advancedcoresystemm'] = {['name'] = 'Advanced Core System M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 139.61, ['volume'] = 132.8}, 246 - ['rarecoresysteml'] = {['name'] = 'Rare Core System L', ['tier'] = 4, ['type'] = 'Functional Part', ['mass'] = 783.65, ['volume'] = 728}, 247 - ['exoticcoresystems'] = {['name'] = 'Exotic Core System S', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 28.62, ['volume'] = 26.8}, 248 - ['basicelectricengines'] = {['name'] = 'Basic Electric Engine S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 377.75, ['volume'] = 39.04}, 249 - ['basicelectricenginem'] = {['name'] = 'Basic Electric Engine M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1930, ['volume'] = 206.4}, 250 - ['uncommonelectricenginexl'] = {['name'] = 'Uncommon Electric Engine XL', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 50800, ['volume'] = 6107.49}, 251 - ['basicfiringsystemxs'] = {['name'] = 'Basic Firing System XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 60.65, ['volume'] = 9.6}, 252 - ['advancedfiringsystemxs'] = {['name'] = 'Advanced Firing System XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 163.51, ['volume'] = 27.2}, 253 - ['advancedfiringsystems'] = {['name'] = 'Advanced Firing System S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 369.5, ['volume'] = 58.4}, 254 - ['advancedfiringsystemm'] = {['name'] = 'Advanced Firing System M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1760, ['volume'] = 268}, 255 - ['advancedfiringsysteml'] = {['name'] = 'Advanced Firing System L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 9410, ['volume'] = 1383.2}, 256 - ['basicgazcylinderxs'] = {['name'] = 'Basic Gaz Cylinder XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 15.68, ['volume'] = 9.6}, 257 - ['basicgazcylinders'] = {['name'] = 'Basic Gaz Cylinder S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 81.38, ['volume'] = 49.6}, 258 - ['basicgazcylinderm'] = {['name'] = 'Basic Gaz Cylinder M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 427.88, ['volume'] = 259.2}, 259 - ['basicionicchamberxs'] = {['name'] = 'Basic Ionic Chamber XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 75.1, ['volume'] = 7.33}, 260 - ['basicionicchambers'] = {['name'] = 'Basic Ionic Chamber S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 391.6, ['volume'] = 38.24}, 261 - ['basicionicchamberm'] = {['name'] = 'Basic Ionic Chamber M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 2070, ['volume'] = 202.4}, 262 - ['basicionicchamberl'] = {['name'] = 'Basic Ionic Chamber L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1620, ['volume'] = 1090.4}, 263 - ['basicionicchamberxl'] = {['name'] = 'Basic Ionic Chamber XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 61230, ['volume'] = 6000.8}, 264 - ['uncommonionicchamberxs'] = {['name'] = 'Uncommon Ionic Chamber XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 140.8, ['volume'] = 13.86}, 265 - ['uncommonionicchambers'] = {['name'] = 'Uncommon Ionic Chamber S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 452.35, ['volume'] = 44.77}, 266 - ['uncommonionicchamberm'] = {['name'] = 'Uncommon Ionic Chamber M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 2100, ['volume'] = 208.93}, 267 - ['uncommonionicchamberl'] = {['name'] = 'Uncommon Ionic Chamber L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 11010, ['volume'] = 1096.93}, 268 - ['uncommonionicchamberxl'] = {['name'] = 'Uncommon Ionic Chamber XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 60120, ['volume'] = 6007.33}, 269 - ['advancedionicchamberm'] = {['name'] = 'Advanced Ionic Chamber M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 8640, ['volume'] = 208.93}, 270 - ['advancedionicchamberl'] = {['name'] = 'Advanced Ionic Chamber L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 11370, ['volume'] = 1096.93}, 271 - ['uncommonlaserchamberxs'] = {['name'] = 'Uncommon Laser Chamber XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 24.8, ['volume'] = 18.4}, 272 - ['advancedlaserchamberxs'] = {['name'] = 'Advanced Laser Chamber XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 36.51, ['volume'] = 27.2}, 273 - ['advancedlaserchambers'] = {['name'] = 'Advanced Laser Chamber S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 87.02, ['volume'] = 58.4}, 274 - ['advancedlaserchamberm'] = {['name'] = 'Advanced Laser Chamber M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 429.89, ['volume'] = 268}, 275 - ['advancedlaserchamberl'] = {['name'] = 'Advanced Laser Chamber L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 2380, ['volume'] = 1383.2}, 276 - ['rarelaserchambers'] = {['name'] = 'Rare Laser Chamber S', ['tier'] = 4, ['type'] = 'Functional Part', ['mass'] = 90.49, ['volume'] = 58.4}, 277 - ['uncommonlightxs'] = {['name'] = 'Uncommon Light XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 7.84, ['volume'] = 8.8}, 278 - ['uncommonlights'] = {['name'] = 'Uncommon Light S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 28.8, ['volume'] = 29.6}, 279 - ['advancedmagneticrailxs'] = {['name'] = 'Advanced Magnetic Rail XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 204.7, ['volume'] = 20.86}, 280 - ['advancedmagneticrails'] = {['name'] = 'Advanced Magnetic Rail S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 451.89, ['volume'] = 45.73}, 281 - ['advancedmagneticrailm'] = {['name'] = 'Advanced Magnetic Rail M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 2120, ['volume'] = 213.09}, 282 - ['advancedmagneticraill'] = {['name'] = 'Advanced Magnetic Rail L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 11160, ['volume'] = 1117.09}, 283 - ['basicmechanicalsensorxs'] = {['name'] = 'Basic Mechanical Sensor XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 35.96, ['volume'] = 7.49}, 284 - ['advancedmechanicalsensorxs'] = {['name'] = 'Advanced Mechanical Sensor XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 100.99, ['volume'] = 20.86}, 285 - ['exoticmechanicalsensorxs'] = {['name'] = 'Exotic Mechanical Sensor XS', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 102.37, ['volume'] = 19.26}, 286 - ['advancedmissilesiloxs'] = {['name'] = 'Advanced Missile Silo XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 157.51, ['volume'] = 27.2}, 287 - ['advancedmissilesilos'] = {['name'] = 'Advanced Missile Silo S', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 327.52, ['volume'] = 58.4}, 288 - ['advancedmissilesilom'] = {['name'] = 'Advanced Missile Silo M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 1460, ['volume'] = 268}, 289 - ['advancedmissilesilol'] = {['name'] = 'Advanced Missile Silo L', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 7360, ['volume'] = 1383.2}, 290 - ['basicmobilepanelxs'] = {['name'] = 'Basic Mobile Panel XS', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 20, ['volume'] = 9.6}, 291 - ['basicmobilepanels'] = {['name'] = 'Basic Mobile Panel S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 103, ['volume'] = 49.6}, 292 - ['basicmobilepanelm'] = {['name'] = 'Basic Mobile Panel M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 536, ['volume'] = 259.2}, 293 - ['basicmobilepanell'] = {['name'] = 'Basic Mobile Panel L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 2830, ['volume'] = 1374.4}, 294 - ['basicmobilepanelxl'] = {['name'] = 'Basic Mobile Panel XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 15160, ['volume'] = 7420.8}, 295 - ['advancedmotherboardm'] = {['name'] = 'Advanced Motherboard M', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 109.19, ['volume'] = 96}, 296 - ['uncommonorescannerxl'] = {['name'] = 'Uncommon Ore Scanner XL', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 1870, ['volume'] = 2702.9}, 297 - ['basicpowertransformerm'] = {['name'] = 'Basic Power Transformer M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 1020, ['volume'] = 196.4}, 298 - ['uncommonpowertransformers'] = {['name'] = 'Uncommon Power Transformer S', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 221.56, ['volume'] = 43.33}, 299 - ['uncommonpowertransformerm'] = {['name'] = 'Uncommon Power Transformer M', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 1030, ['volume'] = 202.69}, 300 - ['rarepowertransformerl'] = {['name'] = 'Rare Power Transformer L', ['tier'] = 4, ['type'] = 'Functional Part', ['mass'] = 5570, ['volume'] = 1066.69}, 301 - ['rarepowertransformerxl'] = {['name'] = 'Rare Power Transformer XL', ['tier'] = 4, ['type'] = 'Functional Part', ['mass'] = 30540, ['volume'] = 5857.09}, 302 - ['exoticpowertransformerl'] = {['name'] = 'Exotic Power Transformer L', ['tier'] = 5, ['type'] = 'Functional Part', ['mass'] = 5570, ['volume'] = 1066.29}, 303 - ['basicroboticarmm'] = {['name'] = 'Basic Robotic Arm M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 927, ['volume'] = 249.2}, 304 - ['basicroboticarml'] = {['name'] = 'Basic Robotic Arm L', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 4930, ['volume'] = 1324.4}, 305 - ['basicroboticarmxl'] = {['name'] = 'Basic Robotic Arm XL', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 26700, ['volume'] = 7170.8}, 306 - ['basicscreens'] = {['name'] = 'Basic Screen S', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 21.07, ['volume'] = 25.6}, 307 - ['basicscreenm'] = {['name'] = 'Basic Screen M', ['tier'] = 1, ['type'] = 'Functional Part', ['mass'] = 115.17, ['volume'] = 139.2}, 308 - ['uncommonscreenxs'] = {['name'] = 'Uncommon Screen XS', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 7.29, ['volume'] = 8.8}, 309 - ['uncommonscreenl'] = {['name'] = 'Uncommon Screen L', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 671.24, ['volume'] = 778.4}, 310 - ['uncommonscreenxl'] = {['name'] = 'Uncommon Screen XL', ['tier'] = 2, ['type'] = 'Functional Part', ['mass'] = 3860, ['volume'] = 4424.8}, 311 - ['advancedscreenxs'] = {['name'] = 'Advanced Screen XS', ['tier'] = 3, ['type'] = 'Functional Part', ['mass'] = 10.73, ['volume'] = 12.8}, 312 - ['basiccasingxs'] = {['name'] = 'Basic Casing XS', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 1.4, ['volume'] = 2}, 313 - ['basiccasings'] = {['name'] = 'Basic Casing S', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 7.7, ['volume'] = 11}, 314 - ['basiccasingm'] = {['name'] = 'Basic Casing M', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 51.8, ['volume'] = 74}, 315 - ['basiccasingl'] = {['name'] = 'Basic Casing L', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 360.5, ['volume'] = 515}, 316 - ['uncommoncasingxs'] = {['name'] = 'Uncommon Casing XS', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 1.45, ['volume'] = 2}, 317 - ['uncommoncasings'] = {['name'] = 'Uncommon Casing S', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 8.05, ['volume'] = 1}, 318 - ['uncommoncasingm'] = {['name'] = 'Uncommon Casing M', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 54.25, ['volume'] = 74}, 319 - ['uncommoncasingl'] = {['name'] = 'Uncommon Casing L', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 377.65, ['volume'] = 515}, 320 - ['uncommoncasingxl'] = {['name'] = 'Uncommon Casing XL', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 2640, ['volume'] = 3602}, 321 - ['advancedcasingxs'] = {['name'] = 'Advanced Casing XS', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 1.5, ['volume'] = 2}, 322 - ['advancedcasings'] = {['name'] = 'Advanced Casing S', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 8.4, ['volume'] = 1}, 323 - ['advancedcasingm'] = {['name'] = 'Advanced Casing M', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 56.7, ['volume'] = 74}, 324 - ['advancedcasingl'] = {['name'] = 'Advanced Casing L', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 394.8, ['volume'] = 515}, 325 - ['advancedcasingxl'] = {['name'] = 'Advanced Casing XL', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 2760, ['volume'] = 3602}, 326 - ['rarecasingxs'] = {['name'] = 'Rare Casing XS', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 1.52, ['volume'] = 2}, 327 - ['rarecasings'] = {['name'] = 'Rare Casing S', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 8.57, ['volume'] = 11}, 328 - ['exoticcasings'] = {['name'] = 'Exotic Casing S', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 8.29, ['volume'] = 11}, 329 - ['basicreinforcedframexs'] = {['name'] = 'Basic Reinforced Frame XS', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 12.88, ['volume'] = 2}, 330 - ['basicreinforcedframes'] = {['name'] = 'Basic Reinforced Frame S', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 70.84, ['volume'] = 11}, 331 - ['basicreinforcedframem'] = {['name'] = 'Basic Reinforced Frame M', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 476, ['volume'] = 74}, 332 - ['basicreinforcedframel'] = {['name'] = 'Basic Reinforced Frame L', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 3320, ['volume'] = 515}, 333 - ['basicreinforcedframexl'] = {['name'] = 'Basic Reinforced Frame XL', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 23200, ['volume'] = 3602}, 334 - ['uncommonreinforcedframexs'] = {['name'] = 'Uncommon Reinforced Frame XS', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 12.64, ['volume'] = 2}, 335 - ['uncommonreinforcedframes'] = {['name'] = 'Uncommon Reinforced Frame S', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 69.16, ['volume'] = 11}, 336 - ['uncommonreinforcedframem'] = {['name'] = 'Uncommon Reinforced Frame M', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 464.8, ['volume'] = 74}, 337 - ['uncommonreinforcedframel'] = {['name'] = 'Uncommon Reinforced Frame L', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 3230, ['volume'] = 515}, 338 - ['uncommonreinforcedframexl'] = {['name'] = 'Uncommon Reinforced Frame XL', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 22620, ['volume'] = 3602}, 339 - ['advancedreinforcedframexs'] = {['name'] = 'Advanced Reinforced Frame XS', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 13.24, ['volume'] = 2}, 340 - ['advancedreinforcedframes'] = {['name'] = 'Advanced Reinforced Frame S', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 73.34, ['volume'] = 11}, 341 - ['advancedreinforcedframem'] = {['name'] = 'Advanced Reinforced Frame M', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 494.08, ['volume'] = 74}, 342 - ['advancedreinforcedframel'] = {['name'] = 'Advanced Reinforced Frame L', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 3440, ['volume'] = 515}, 343 - ['rarereinforcedframel'] = {['name'] = 'Rare Reinforced Frame L', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 3370, ['volume'] = 515}, 344 - ['rarereinforcedframexl'] = {['name'] = 'Rare Reinforced Frame XL', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 23540, ['volume'] = 3602}, 345 - ['exoticreinforcedframem'] = {['name'] = 'Exotic Reinforced Frame M', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 468.05, ['volume'] = 74}, 346 - ['exoticreinforcedframel'] = {['name'] = 'Exotic Reinforced Frame L', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 3260, ['volume'] = 515}, 347 - ['exoticreinforcedframexl'] = {['name'] = 'Exotic Reinforced Frame XL', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 22780, ['volume'] = 3602}, 348 - ['basicstandardframexs'] = {['name'] = 'Basic Standard Frame XS', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 4.2, ['volume'] = 2}, 349 - ['basicstandardframes'] = {['name'] = 'Basic Standard Frame S', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 23.1, ['volume'] = 11}, 350 - ['basicstandardframem'] = {['name'] = 'Basic Standard Frame M', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 155.4, ['volume'] = 74}, 351 - ['basicstandardframel'] = {['name'] = 'Basic Standard Frame L', ['tier'] = 1, ['type'] = 'Structural Part', ['mass'] = 1080, ['volume'] = 515}, 352 - ['uncommonstandardframexs'] = {['name'] = 'Uncommon Standard Frame XS', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 4.06, ['volume'] = 2}, 353 - ['uncommonstandardframes'] = {['name'] = 'Uncommon Standard Frame S', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 22.12, ['volume'] = 11}, 354 - ['uncommonstandardframem'] = {['name'] = 'Uncommon Standard Frame M', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 148.54, ['volume'] = 74}, 355 - ['uncommonstandardframel'] = {['name'] = 'Uncommon Standard Frame L', ['tier'] = 2, ['type'] = 'Structural Part', ['mass'] = 1030, ['volume'] = 515}, 356 - ['advancedstandardframexs'] = {['name'] = 'Advanced Standard Frame XS', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 3.85, ['volume'] = 2}, 357 - ['advancedstandardframes'] = {['name'] = 'Advanced Standard Frame S', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 20.65, ['volume'] = 11}, 358 - ['advancedstandardframem'] = {['name'] = 'Advanced Standard Frame M', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 138.25, ['volume'] = 74}, 359 - ['advancedstandardframel'] = {['name'] = 'Advanced Standard Frame L', ['tier'] = 3, ['type'] = 'Structural Part', ['mass'] = 961.45, ['volume'] = 515}, 360 - ['rarestandardframel'] = {['name'] = 'Rare Standard Frame L', ['tier'] = 4, ['type'] = 'Structural Part', ['mass'] = 1050, ['volume'] = 515}, 361 - ['exoticstandardframexs'] = {['name'] = 'Exotic Standard Frame XS', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 5.2, ['volume'] = 2}, 362 - ['exoticstandardframel'] = {['name'] = 'Exotic Standard Frame L', ['tier'] = 5, ['type'] = 'Structural Part', ['mass'] = 1420, ['volume'] = 515}, 363 - ['dynamiccoreunitxs'] = {['name'] = 'Dynamic Core XS', ['tier'] = 1, ['type'] = 'Core Unit', ['mass'] = 70.89, ['volume'] = 16.1}, 364 - ['dynamiccoreunits'] = {['name'] = 'Dynamic Core S', ['tier'] = 2, ['type'] = 'Core Unit', ['mass'] = 375.97, ['volume'] = 87.2}, 365 - ['dynamiccoreunitm'] = {['name'] = 'Dynamic Core M', ['tier'] = 3, ['type'] = 'Core Unit', ['mass'] = 1980, ['volume'] = 454.8}, 366 - ['dynamiccoreunitl'] = {['name'] = 'Dynamic Core L', ['tier'] = 4, ['type'] = 'Core Unit', ['mass'] = 12140, ['volume'] = 2501}, 367 - ['staticcoreunitxs'] = {['name'] = 'Static Core XS', ['tier'] = 1, ['type'] = 'Core Unit', ['mass'] = 70.89, ['volume'] = 16.1}, 368 - ['staticcoreunits'] = {['name'] = 'Static Core S', ['tier'] = 1, ['type'] = 'Core Unit', ['mass'] = 360.18, ['volume'] = 83.6}, 369 - ['staticcoreunitm'] = {['name'] = 'Static Core M', ['tier'] = 2, ['type'] = 'Core Unit', ['mass'] = 1930, ['volume'] = 454.8}, 370 - ['staticcoreunitl'] = {['name'] = 'Static Core L', ['tier'] = 2, ['type'] = 'Core Unit', ['mass'] = 10700, ['volume'] = 2501}, 371 - ['spacecoreunitxs'] = {['name'] = 'Space Core XS', ['tier'] = 1, ['type'] = 'Core Unit', ['mass'] = 38.99, ['volume'] = 14}, 372 - ['spacecoreunits'] = {['name'] = 'Space Core S', ['tier'] = 2, ['type'] = 'Core Unit', ['mass'] = 459.57, ['volume'] = 120}, 373 - ['spacecoreunitm'] = {['name'] = 'Space Core M', ['tier'] = 3, ['type'] = 'Core Unit', ['mass'] = 3040, ['volume'] = 420}, 374 - ['spacecoreunitl'] = {['name'] = 'Space Core L', ['tier'] = 4, ['type'] = 'Core Unit', ['mass'] = 7680, ['volume'] = 1383}, 375 - ['territoryunit'] = {['name'] = 'Territory Unit', ['tier'] = 5, ['type'] = 'Core Unit', ['mass'] = 20050, ['volume'] = 4118.29}, 376 - ['containerhub'] = {['name'] = 'Container Hub', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 55.8, ['volume'] = 44.3}, 377 - ['containerxs'] = {['name'] = 'Container XS', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 229.09, ['volume'] = 64}, 378 - ['containers'] = {['name'] = 'Container S', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 1281.31, ['volume'] = 342}, 379 - ['containerm'] = {['name'] = 'Container M', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 7421.35, ['volume'] = 1873}, 380 - ['containerl'] = {['name'] = 'Container L', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 14842.7, ['volume'] = 3746}, 381 - ['dispenser'] = {['name'] = 'Dispenser', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 2060, ['volume'] = 479.2}, 382 - ['atmosphericfueltankxs'] = {['name'] = 'Atmospheric Fuel-Tank XS', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 35.03, ['volume'] = 17.8}, 383 - ['atmosphericfueltanks'] = {['name'] = 'Atmospheric Fuel-Tank S', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 182.67, ['volume'] = 92.6}, 384 - ['atmosphericfueltankm'] = {['name'] = 'Atmospheric Fuel-Tank M', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 988.67, ['volume'] = 499.2}, 385 - ['atmosphericfueltankl'] = {['name'] = 'Atmospheric Fuel-Tank L', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 5480, ['volume'] = 2755.4}, 386 - ['spacefueltanks'] = {['name'] = 'Space Fuel-Tank S', ['tier'] = 2, ['type'] = 'Container', ['mass'] = 182.67, ['volume'] = 92.6}, 387 - ['spacefueltankm'] = {['name'] = 'Space Fuel-Tank M', ['tier'] = 2, ['type'] = 'Container', ['mass'] = 988.67, ['volume'] = 499.2}, 388 - ['spacefueltankl'] = {['name'] = 'Space Fuel-Tank L', ['tier'] = 2, ['type'] = 'Container', ['mass'] = 5480, ['volume'] = 2755.4}, 389 - ['rocketfueltankxs'] = {['name'] = 'Rocket Fuel-Tank XS', ['tier'] = 3, ['type'] = 'Container', ['mass'] = 173.42, ['volume'] = 96.6}, 390 - ['rocketfueltanks'] = {['name'] = 'Rocket Fuel-Tank S', ['tier'] = 3, ['type'] = 'Container', ['mass'] = 886.72, ['volume'] = 503.2}, 391 - ['rocketfueltankm'] = {['name'] = 'Rocket Fuel-Tank M', ['tier'] = 3, ['type'] = 'Container', ['mass'] = 6231, ['volume'] = 6400}, 392 - ['rocketfueltankl'] = {['name'] = 'Rocket Fuel-Tank L', ['tier'] = 3, ['type'] = 'Container', ['mass'] = 25740, ['volume'] = 15570}, 393 - ['ammocontainerxs'] = {['name'] = 'Ammo Container XS', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 216.15, ['volume'] = 67}, 394 - ['ammocontainers'] = {['name'] = 'Ammo Container S', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 1170, ['volume'] = 360}, 395 - ['ammocontainerm'] = {['name'] = 'Ammo Container M', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 6440, ['volume'] = 1981}, 396 - ['ammocontainerl'] = {['name'] = 'Ammo Container L', ['tier'] = 1, ['type'] = 'Container', ['mass'] = 12880, ['volume'] = 3962}, 397 - ['assemblylinexs'] = {['name'] = 'Assembly Line XS', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 100.93, ['volume'] = 21.8}, 398 - ['assemblylines'] = {['name'] = 'Assembly Line S', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 522.14, ['volume'] = 112.6}, 399 - ['assemblylinem'] = {['name'] = 'Assembly Line M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2800, ['volume'] = 599.2}, 400 - ['assemblylinel'] = {['name'] = 'Assembly Line L', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 15380, ['volume'] = 3255.4}, 401 - ['assemblylinexl'] = {['name'] = 'Assembly Line XL', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 86290, ['volume'] = 18070}, 402 - ['3dprinterm'] = {['name'] = '3D Printer M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2000, ['volume'] = 609.2}, 403 - ['chemicalindustrym'] = {['name'] = 'Chemical Industry M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2300, ['volume'] = 479.2}, 404 - ['electronicsindustrym'] = {['name'] = 'Electronics Industry M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 1620, ['volume'] = 459.2}, 405 - ['glassfurnacem'] = {['name'] = 'Glass Furnace M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2830, ['volume'] = 556.4}, 406 - ['honeycombrefinerym'] = {['name'] = 'Honeycomb Refinery M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2990, ['volume'] = 589.2}, 407 - ['metalworkindustrym'] = {['name'] = 'Metalwork Industry M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2600, ['volume'] = 599.2}, 408 - ['recyclerm'] = {['name'] = 'Recycler M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2350, ['volume'] = 619.2}, 409 - ['refinerm'] = {['name'] = 'Refiner M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2300, ['volume'] = 479.2}, 410 - ['smelterm'] = {['name'] = 'Smelter M', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 2060, ['volume'] = 499.2}, 411 - ['transferunit'] = {['name'] = 'Transfer Unit', ['tier'] = 1, ['type'] = 'Industry', ['mass'] = 10150, ['volume'] = 3305.4}, 412 - ['retrorocketbrakes'] = {['name'] = 'Retro-Rocket Brake S', ['tier'] = 1, ['type'] = 'Space Brake', ['mass'] = 137.55, ['volume'] = 20.33}, 413 - ['retrorocketbrakem'] = {['name'] = 'Retro-Rocket Brake M', ['tier'] = 1, ['type'] = 'Space Brake', ['mass'] = 714, ['volume'] = 105.24}, 414 - ['retrorocketbrakel'] = {['name'] = 'Retro-Rocket Brake L', ['tier'] = 1, ['type'] = 'Space Brake', ['mass'] = 3770, ['volume'] = 562.4}, 415 - ['atmosphericairbrakes'] = {['name'] = 'Atmospheric Airbrake S', ['tier'] = 1, ['type'] = 'Airbrake', ['mass'] = 55.55, ['volume'] = 22.6}, 416 - ['atmosphericairbrakem'] = {['name'] = 'Atmospheric Airbrake M', ['tier'] = 1, ['type'] = 'Airbrake', ['mass'] = 285.25, ['volume'] = 116.6}, 417 - ['atmosphericairbrakel'] = {['name'] = 'Atmospheric Airbrake L', ['tier'] = 1, ['type'] = 'Airbrake', ['mass'] = 1500, ['volume'] = 619.2}, 418 - ['compactaileronxs'] = {['name'] = 'Compact Aileron XS', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 61.2, ['volume'] = 22.6}, 419 - ['compactailerons'] = {['name'] = 'Compact Aileron S', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 319.15, ['volume'] = 116.6}, 420 - ['compactaileronm'] = {['name'] = 'Compact Aileron M', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 1705, ['volume'] = 619.2}, 421 - ['aileronxs'] = {['name'] = 'Aileron XS', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 122.4, ['volume'] = 45.2}, 422 - ['ailerons'] = {['name'] = 'Aileron S', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 638.3, ['volume'] = 233.2}, 423 - ['aileronm'] = {['name'] = 'Aileron M', ['tier'] = 1, ['type'] = 'Aileron', ['mass'] = 3410, ['volume'] = 1238.4}, 424 - ['stabilizerxs'] = {['name'] = 'Stabilizer XS', ['tier'] = 1, ['type'] = 'Stabilizer', ['mass'] = 69.88, ['volume'] = 22.6}, 425 - ['stabilizers'] = {['name'] = 'Stabilizer S', ['tier'] = 1, ['type'] = 'Stabilizer', ['mass'] = 366.89, ['volume'] = 116.6}, 426 - ['stabilizerm'] = {['name'] = 'Stabilizer M', ['tier'] = 1, ['type'] = 'Stabilizer', ['mass'] = 2030, ['volume'] = 619.2}, 427 - ['stabilizerl'] = {['name'] = 'Stabilizer L', ['tier'] = 1, ['type'] = 'Stabilizer', ['mass'] = 11500, ['volume'] = 3355.4}, 428 - ['wingxs'] = {['name'] = 'Wing XS', ['tier'] = 1, ['type'] = 'Wing', ['mass'] = 61.2, ['volume'] = 22.6}, 429 - ['wings'] = {['name'] = 'Wing S', ['tier'] = 1, ['type'] = 'Wing', ['mass'] = 319.15, ['volume'] = 116.6}, 430 - ['wingm'] = {['name'] = 'Wing M', ['tier'] = 1, ['type'] = 'Wing', ['mass'] = 1700, ['volume'] = 619.2}, 431 - ['wingvariantm'] = {['name'] = 'Wing Variant M', ['tier'] = 1, ['type'] = 'Wing', ['mass'] = 1700, ['volume'] = 619.2}, 432 - ['atmosphericenginexs'] = {['name'] = 'Atmospheric Engine XS', ['tier'] = 1, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6}, 433 - ['atmosphericengines'] = {['name'] = 'Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6}, 434 - ['atmosphericenginem'] = {['name'] = 'Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2}, 435 - ['atmosphericenginel'] = {['name'] = 'Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4}, 436 - ['spaceenginexs'] = {['name'] = 'Space Engine XS', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33}, 437 - ['spaceengines'] = {['name'] = 'Space Engine S', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24}, 438 - ['spaceenginem'] = {['name'] = 'Space Engine M', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4}, 439 - ['spaceenginel'] = {['name'] = 'Space Engine L', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4}, 440 - ['spaceenginexl'] = {['name'] = 'Space Engine XL', ['tier'] = 1, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150}, 441 - ['hoverengines'] = {['name'] = 'Hover Engine S', ['tier'] = 1, ['type'] = 'Hover Engine', ['mass'] = 56.91, ['volume'] = 22.6}, 442 - ['hoverenginem'] = {['name'] = 'Hover Engine M', ['tier'] = 2, ['type'] = 'Hover Engine', ['mass'] = 302.02, ['volume'] = 116.6}, 443 - ['hoverenginel'] = {['name'] = 'Hover Engine L', ['tier'] = 2, ['type'] = 'Hover Engine', ['mass'] = 1700, ['volume'] = 619.2}, 444 - ['flathoverenginel'] = {['name'] = 'Flat Hover Engine L', ['tier'] = 2, ['type'] = 'Hover Engine', ['mass'] = 1700, ['volume'] = 619.2}, 445 - ['adjustorxs'] = {['name'] = 'Adjustor XS', ['tier'] = 1, ['type'] = 'Adjustor', ['mass'] = 22.7, ['volume'] = 11}, 446 - ['adjustors'] = {['name'] = 'Adjustor S', ['tier'] = 1, ['type'] = 'Adjustor', ['mass'] = 42.58, ['volume'] = 22.6}, 447 - ['adjustorm'] = {['name'] = 'Adjustor M', ['tier'] = 1, ['type'] = 'Adjustor', ['mass'] = 220.38, ['volume'] = 116.6}, 448 - ['adjustorl'] = {['name'] = 'Adjustor L', ['tier'] = 1, ['type'] = 'Adjustor', ['mass'] = 1180, ['volume'] = 619.2}, 449 - ['rocketengines'] = {['name'] = 'Rocket Engine S', ['tier'] = 3, ['type'] = 'Rocket Engine', ['mass'] = 2223.76, ['volume'] = 40.2}, 450 - ['rocketenginem'] = {['name'] = 'Rocket Engine M', ['tier'] = 3, ['type'] = 'Rocket Engine', ['mass'] = 680.05, ['volume'] = 125.4}, 451 - ['rocketenginel'] = {['name'] = 'Rocket Engine L', ['tier'] = 4, ['type'] = 'Rocket Engine', ['mass'] = 3390, ['volume'] = 628}, 452 - ['verticalboosterxs'] = {['name'] = 'Vertical Booster XS', ['tier'] = 1, ['type'] = 'Vertical Booster', ['mass'] = 22.7, ['volume'] = 11}, 453 - ['verticalboosters'] = {['name'] = 'Vertical Booster S', ['tier'] = 1, ['type'] = 'Vertical Booster', ['mass'] = 102, ['volume'] = 20.33}, 454 - ['verticalboosterm'] = {['name'] = 'Vertical Booster M', ['tier'] = 1, ['type'] = 'Vertical Booster', ['mass'] = 530.6, ['volume'] = 105.24}, 455 - ['verticalboosterl'] = {['name'] = 'Vertical Booster L', ['tier'] = 1, ['type'] = 'Vertical Booster', ['mass'] = 2820, ['volume'] = 562.4}, 456 - ['elevatorxs'] = {['name'] = 'Elevator XS', ['tier'] = 1, ['type'] = 'Interactive Element', ['mass'] = 207.86, ['volume'] = 57.56}, 457 - ['landinggearxs'] = {['name'] = 'Landing Gear XS', ['tier'] = 1, ['type'] = 'Landing Gear', ['mass'] = 49.88, ['volume'] = 13}, 458 - ['landinggears'] = {['name'] = 'Landing Gear S', ['tier'] = 2, ['type'] = 'Landing Gear', ['mass'] = 258.76, ['volume'] = 67}, 459 - ['landinggearm'] = {['name'] = 'Landing Gear M', ['tier'] = 2, ['type'] = 'Landing Gear', ['mass'] = 1460, ['volume'] = 360}, 460 - ['landinggearl'] = {['name'] = 'Landing Gear L', ['tier'] = 2, ['type'] = 'Landing Gear', ['mass'] = 8500, ['volume'] = 1981}, 461 - ['forcefieldxs'] = {['name'] = 'Force Field XS', ['tier'] = 1, ['type'] = 'Force Field', ['mass'] = 207.86, ['volume'] = 57.56}, 462 - ['forcefields'] = {['name'] = 'Force Field S', ['tier'] = 3, ['type'] = 'Force Field', ['mass'] = 110.62, ['volume'] = 34.7}, 463 - ['forcefieldm'] = {['name'] = 'Force Field M', ['tier'] = 3, ['type'] = 'Force Field', ['mass'] = 110.62, ['volume'] = 34.7}, 464 - ['forcefieldl'] = {['name'] = 'Force Field L', ['tier'] = 3, ['type'] = 'Force Field', ['mass'] = 110.62, ['volume'] = 34.7}, 465 - ['territoryscanner'] = {['name'] = 'Territory Scanner', ['tier'] = 2, ['type'] = 'Instrument', ['mass'] = 66460, ['volume'] = 12700}, 466 - ['gyroscope'] = {['name'] = 'Gyroscope', ['tier'] = 1, ['type'] = 'Instrument', ['mass'] = 104.41, ['volume'] = 17.65}, 467 - ['telemeter'] = {['name'] = 'Telemeter', ['tier'] = 2, ['type'] = 'Instrument', ['mass'] = 40.79, ['volume'] = 31.4}, 468 - ['remotecontroller'] = {['name'] = 'Remote Controller', ['tier'] = 3, ['type'] = 'Control Unit', ['mass'] = 7.79, ['volume'] = 4.5}, 469 - ['hovercraftseatcontroller'] = {['name'] = 'Hovercraft Seat Controller', ['tier'] = 1, ['type'] = 'Control Unit', ['mass'] = 110.33, ['volume'] = 61.6}, 470 - ['emergencycontroller'] = {['name'] = 'Emergency Controller', ['tier'] = 3, ['type'] = 'Control Unit', ['mass'] = 9.35, ['volume'] = 4.8}, 471 - ['commandseatcontroller'] = {['name'] = 'Command Seat Controller', ['tier'] = 1, ['type'] = 'Control Unit', ['mass'] = 158.45, ['volume'] = 66.6}, 472 - ['cockpitcontroller'] = {['name'] = 'Cockpit Controller', ['tier'] = 1, ['type'] = 'Control Unit', ['mass'] = 1210, ['volume'] = 491.2}, 473 - ['programmingboard'] = {['name'] = 'Programming Board', ['tier'] = 1, ['type'] = 'Control Unit', ['mass'] = 27.74, ['volume'] = 12.7}, 474 - ['gunnermodules'] = {['name'] = 'Gunner Module S', ['tier'] = 2, ['type'] = 'Control Unit', ['mass'] = 427.9, ['volume'] = 93.8}, 475 - ['gunnermodulem'] = {['name'] = 'Gunner Module M', ['tier'] = 2, ['type'] = 'Control Unit', ['mass'] = 2170, ['volume'] = 486.4}, 476 - ['gunnermodulel'] = {['name'] = 'Gunner Module L', ['tier'] = 2, ['type'] = 'Control Unit', ['mass'] = 11320, ['volume'] = 2666.6}, 477 - ['antigravitygenerators'] = {['name'] = 'Anti-Gravity Generator S', ['tier'] = 4, ['type'] = 'Anti-Gravity Generator', ['mass'] = 27130, ['volume'] = 4279.69}, 478 - ['antigravitygeneratorm'] = {['name'] = 'Anti-Gravity Generator M', ['tier'] = 4, ['type'] = 'Anti-Gravity Generator', ['mass'] = 137720, ['volume'] = 21620}, 479 - ['antigravitygeneratorl'] = {['name'] = 'Anti-Gravity Generator L', ['tier'] = 4, ['type'] = 'Anti-Gravity Generator', ['mass'] = 550870, ['volume'] = 86470}, 480 - ['antigravitypulsor'] = {['name'] = 'Anti-Gravity Pulsor', ['tier'] = 3, ['type'] = 'Anti-Gravity Generator', ['mass'] = 6210, ['volume'] = 804.93}, 481 - ['slidingdoors'] = {['name'] = 'Sliding Door S', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 749.15, ['volume'] = 102.04}, 482 - ['slidingdoorm'] = {['name'] = 'Sliding Door M', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 1010, ['volume'] = 151.8}, 483 - ['reinforcedslidingdoor'] = {['name'] = 'Reinforced Sliding Door', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 4200, ['volume'] = 546.4}, 484 - ['interiordoor'] = {['name'] = 'Interior Door', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 4200, ['volume'] = 546.4}, 485 - ['airlock'] = {['name'] = 'Airlock', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 4200, ['volume'] = 546.4}, 486 - ['gatexs'] = {['name'] = 'Gate XS', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760}, 487 - ['expandedgates'] = {['name'] = 'Expanded Gate S', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760}, 488 - ['gatem'] = {['name'] = 'Gate M', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760}, 489 - ['expandedgatel'] = {['name'] = 'Expanded Gate L', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760}, 490 - ['gatexl'] = {['name'] = 'Gate XL', ['tier'] = 2, ['type'] = 'Door/Gate', ['mass'] = 122750, ['volume'] = 16760}, 491 - ['andoperator'] = {['name'] = 'AND Operator', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 13.27, ['volume'] = 5}, 492 - ['notoperator'] = {['name'] = 'NOT Operator', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 7.47, ['volume'] = 4.5}, 493 - ['oroperator'] = {['name'] = 'OR Operator', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 7.47, ['volume'] = 4.5}, 494 - ['relay'] = {['name'] = 'Relay', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 8.87, ['volume'] = 6.5}, 495 - ['databank'] = {['name'] = 'Databank', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 17.09, ['volume'] = 5.5}, 496 - ['2counter'] = {['name'] = '2 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5}, 497 - ['3counter'] = {['name'] = '3 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5}, 498 - ['5counter'] = {['name'] = '5 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5}, 499 - ['7counter'] = {['name'] = '7 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5}, 500 - ['10counter'] = {['name'] = '10 Counter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5}, 501 - ['infraredlaseremitter'] = {['name'] = 'Infra-Red Laser Emitter', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 9.93, ['volume'] = 5}, 502 - ['laseremitter'] = {['name'] = 'Laser Emitter', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 7.47, ['volume'] = 4.5}, 503 - ['delayline'] = {['name'] = 'Delay Line', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 7.47, ['volume'] = 4.5}, 504 - ['receiverxs'] = {['name'] = 'Receiver XS', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 13.27, ['volume'] = 5}, 505 - ['receivers'] = {['name'] = 'Receiver S', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 475.87, ['volume'] = 91.56}, 506 - ['receiverm'] = {['name'] = 'Receiver M', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 6636.912, ['volume'] = 1500}, 507 - ['emitterxs'] = {['name'] = 'Emitter XS', ['tier'] = 1, ['type'] = 'Electronics', ['mass'] = 69.31, ['volume'] = 15.46}, 508 - ['emitters'] = {['name'] = 'Emitter S', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 427.72, ['volume'] = 88.56}, 509 - ['emitterm'] = {['name'] = 'Emitter M', ['tier'] = 2, ['type'] = 'Electronics', ['mass'] = 2040, ['volume'] = 44.36}, 510 - ['longlightxs'] = {['name'] = 'Long Light XS', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 70.05, ['volume'] = 10.8}, 511 - ['longlights'] = {['name'] = 'Long Light S', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 512 - ['longlightm'] = {['name'] = 'Long Light M', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 513 - ['longlightl'] = {['name'] = 'Long Light L', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 514 - ['squarelightxs'] = {['name'] = 'Square Light XS', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 70.05, ['volume'] = 10.8}, 515 - ['squarelights'] = {['name'] = 'Square Light S', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 516 - ['squarelightm'] = {['name'] = 'Square Light M', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 517 - ['squarelightl'] = {['name'] = 'Square Light L', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 518 - ['verticallightxs'] = {['name'] = 'Vertical Light XS', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 70.05, ['volume'] = 10.8}, 519 - ['verticallights'] = {['name'] = 'Vertical Light S', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 520 - ['verticallightm'] = {['name'] = 'Vertical Light M', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 521 - ['verticallightl'] = {['name'] = 'Vertical Light L', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 522 - ['headlight'] = {['name'] = 'Headlight', ['tier'] = 2, ['type'] = 'Light', ['mass'] = 79.34, ['volume'] = 21.6}, 523 - ['smallatmosphericradarpvps'] = {['name'] = 'Small Atmospheric Radar PvP S', ['tier'] = 1, ['type'] = 'Radar', ['mass'] = 486.72, ['volume'] = 96.56}, 524 - ['mediumatmosphericradarpvpm'] = {['name'] = 'Medium Atmospheric Radar PvP M', ['tier'] = 2, ['type'] = 'Radar', ['mass'] = 2910, ['volume'] = 486336}, 525 - ['largeatmosphericradarpvpl'] = {['name'] = 'Large Atmospheric Radar PvP L', ['tier'] = 2, ['type'] = 'Radar', ['mass'] = 16140, ['volume'] = 2658.56}, 526 - ['spaceradars'] = {['name'] = 'Space Radar S', ['tier'] = 1, ['type'] = 'Radar', ['mass'] = 486.72, ['volume'] = 96.56}, 527 - ['spaceradarm'] = {['name'] = 'Space Radar M', ['tier'] = 1, ['type'] = 'Radar', ['mass'] = 2350, ['volume'] = 486.36}, 528 - ['spaceradarl'] = {['name'] = 'Space Radar L', ['tier'] = 1, ['type'] = 'Radar', ['mass'] = 12490, ['volume'] = 2658.56}, 529 - ['screenxs'] = {['name'] = 'Screen XS', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 530 - ['screens'] = {['name'] = 'Screen S', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 531 - ['screenm'] = {['name'] = 'Screen M', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 532 - ['screenxl'] = {['name'] = 'Screen XL', ['tier'] = 3, ['type'] = 'Screen/Sign', ['mass'] = 12810, ['volume'] = 11170}, 533 - ['transparentscreenxs'] = {['name'] = 'Transparent Screen XS', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 534 - ['transparentscreens'] = {['name'] = 'Transparent Screen S', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 535 - ['transparentscreenm'] = {['name'] = 'Transparent Screen M', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 536 - ['transparentscreenl'] = {['name'] = 'Transparent Screen L', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 537 - ['signxs'] = {['name'] = 'Sign XS', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 538 - ['signs'] = {['name'] = 'Sign S', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 539 - ['signm'] = {['name'] = 'Sign M', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 540 - ['signl'] = {['name'] = 'Sign L', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 541 - ['verticalsignxs'] = {['name'] = 'Vertical Sign XS', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 542 - ['verticalsignm'] = {['name'] = 'Vertical Sign M', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 543 - ['verticalsignl'] = {['name'] = 'Vertical Sign L', ['tier'] = 2, ['type'] = 'Screen/Sign', ['mass'] = 18.67, ['volume'] = 15.8}, 544 - ['sensorss'] = {['name'] = 'Sensors S', ['tier'] = 1, ['type'] = 'Surrogate Element', ['mass'] = 28, ['volume'] = 27}, 545 - ['officechair'] = {['name'] = 'Office Chair', ['tier'] = 1, ['type'] = 'Chair', ['mass'] = 916.52, ['volume'] = 13}, 546 - ['executivechair'] = {['name'] = 'Executive Chair', ['tier'] = 1, ['type'] = 'Chair', ['mass'] = 39.62, ['volume'] = 24}, 547 - ['encampmentchair'] = {['name'] = 'Encampment Chair', ['tier'] = 1, ['type'] = 'Chair', ['mass'] = 2.52, ['volume'] = 2}, 548 - ['manualswitch'] = {['name'] = 'Manual Switch', ['tier'] = 1, ['type'] = 'Sensor', ['mass'] = 13.27, ['volume'] = 5}, 549 - ['pressuretile'] = {['name'] = 'Pressure Tile', ['tier'] = 1, ['type'] = 'Sensor', ['mass'] = 50.63, ['volume'] = 14.49}, 550 - ['manualbuttonxs'] = {['name'] = 'Manual Button XS', ['tier'] = 1, ['type'] = 'Sensor', ['mass'] = 13.27, ['volume'] = 5}, 551 - ['manualbuttons'] = {['name'] = 'Manual Button S', ['tier'] = 1, ['type'] = 'Sensor', ['mass'] = 13.27, ['volume'] = 5}, 552 - ['laserreceiver'] = {['name'] = 'Laser Receiver', ['tier'] = 2, ['type'] = 'Sensor', ['mass'] = 9.93, ['volume'] = 5}, 553 - ['infraredlaserreceiver'] = {['name'] = 'Infra-Red Laser Receiver', ['tier'] = 2, ['type'] = 'Sensor', ['mass'] = 9.93}, 554 - ['detectionzonexs'] = {['name'] = 'Detection Zone XS', ['tier'] = 3, ['type'] = 'Sensor', ['mass'] = 7.79, ['volume'] = 4.5}, 555 - ['detectionzones'] = {['name'] = 'Detection Zone S', ['tier'] = 3, ['type'] = 'Sensor', ['mass'] = 7.79, ['volume'] = 4.5}, 556 - ['detectionzonem'] = {['name'] = 'Detection Zone M', ['tier'] = 3, ['type'] = 'Sensor', ['mass'] = 7.79, ['volume'] = 4.5}, 557 - ['detectionzonel'] = {['name'] = 'Detection Zone L', ['tier'] = 3, ['type'] = 'Sensor', ['mass'] = 7.79, ['volume'] = 4.5}, 558 - ['keyboardunit'] = {['name'] = 'Keyboard Unit', ['tier'] = 1, ['type'] = 'Decorative', ['mass'] = 24.68, ['volume'] = 3.8}, 559 - ['antennas'] = {['name'] = 'Antenna S', ['tier'] = 1, ['type'] = 'Antenna', ['mass'] = 130.06, ['volume'] = 24}, 560 - ['antennam'] = {['name'] = 'Antenna M', ['tier'] = 2, ['type'] = 'Antenna', ['mass'] = 902.74, ['volume'] = 159}, 561 - ['antennal'] = {['name'] = 'Antenna L', ['tier'] = 3, ['type'] = 'Antenna', ['mass'] = 6850, ['volume'] = 1074}, 562 - ['barriercorner'] = {['name'] = 'Barrier Corner', ['tier'] = 1, ['type'] = 'Barrier', ['mass'] = 14.65, ['volume'] = 4}, 563 - ['barriers'] = {['name'] = 'Barrier S', ['tier'] = 1, ['type'] = 'Barrier', ['mass'] = 14.65, ['volume'] = 4}, 564 - ['barrierm'] = {['name'] = 'Barrier M', ['tier'] = 1, ['type'] = 'Barrier', ['mass'] = 14.65, ['volume'] = 4}, 565 - ['sinkunit'] = {['name'] = 'Sink Unit', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 6.72, ['volume'] = 4}, 566 - ['showerunit'] = {['name'] = 'Shower Unit', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 25.62, ['volume'] = 13}, 567 - ['urinalunit'] = {['name'] = 'Urinal Unit', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 8.32, ['volume'] = 4}, 568 - ['toiletunita'] = {['name'] = 'Toilet Unit A', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 6.72, ['volume'] = 4}, 569 - ['toiletunitb'] = {['name'] = 'Toilet Unit B', ['tier'] = 1, ['type'] = 'Bathroom', ['mass'] = 6.72, ['volume'] = 4}, 570 - ['cablemodelas'] = {['name'] = 'Cable Model-A S', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 571 - ['cablemodelbs'] = {['name'] = 'Cable Model-B S', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 572 - ['cablemodelcs'] = {['name'] = 'Cable Model-C S', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 573 - ['cablemodelam'] = {['name'] = 'Cable Model-A M', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 574 - ['cablemodelbm'] = {['name'] = 'Cable Model-B M', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 575 - ['cablemodelcm'] = {['name'] = 'Cable Model-C M', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 576 - ['cornercablemodela'] = {['name'] = 'Corner Cable Model-A', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 577 - ['cornercablemodelb'] = {['name'] = 'Corner Cable Model-B', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 578 - ['cornercablemodelc'] = {['name'] = 'Corner Cable Model-C', ['tier'] = 1, ['type'] = 'Cable', ['mass'] = 14.1, ['volume'] = 4}, 579 - ['dresser'] = {['name'] = 'Dresser', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 8.32, ['volume'] = 4}, 580 - ['bench'] = {['name'] = 'Bench', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 22.33, ['volume'] = 4}, 581 - ['woodenlowtable'] = {['name'] = 'Wooden Low Table', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 5.92, ['volume'] = 4}, 582 - ['sofa'] = {['name'] = 'Sofa', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 39.62, ['volume'] = 24}, 583 - ['woodenwardrobe'] = {['name'] = 'Wooden Wardrobe', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 39.62, ['volume'] = 24}, 584 - ['table'] = {['name'] = 'Table', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 264.32, ['volume'] = 159}, 585 - ['trash'] = {['name'] = 'Trash', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 6.72, ['volume'] = 4}, 586 - ['woodensofa'] = {['name'] = 'Wooden Sofa', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 39.62, ['volume'] = 24}, 587 - ['nightstand'] = {['name'] = 'Nightstand', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 6.72, ['volume'] = 4}, 588 - ['wardrobe'] = {['name'] = 'Wardrobe', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 39.62, ['volume'] = 24}, 589 - ['woodenchair'] = {['name'] = 'Wooden Chair', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 2.52, ['volume'] = 2}, 590 - ['woodenarmchair'] = {['name'] = 'Wooden Armchair', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 1.72, ['volume'] = 2}, 591 - ['roundcarpet'] = {['name'] = 'Round Carpet', ['tier'] = 5, ['type'] = 'Furniture', ['mass'] = 2.78, ['volume'] = 2}, 592 - ['squarecarpet'] = {['name'] = 'Square Carpet', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 2.52, ['volume'] = 2}, 593 - ['woodendresser'] = {['name'] = 'Wooden Dresser', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 34.02, ['volume'] = 24}, 594 - ['woodentablem'] = {['name'] = 'Wooden Table M', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 34.02, ['volume'] = 24}, 595 - ['woodentablel'] = {['name'] = 'Wooden Table L', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 34.02, ['volume'] = 24}, 596 - ['shelfempty'] = {['name'] = 'Shelf Empty', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 8.32, ['volume'] = 4}, 597 - ['shelfhalffull'] = {['name'] = 'Shelf Half Full', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 8.32, ['volume'] = 4}, 598 - ['shelffull'] = {['name'] = 'Shelf Full', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 8.32, ['volume'] = 4}, 599 - ['bed'] = {['name'] = 'Bed', ['tier'] = 1, ['type'] = 'Furniture', ['mass'] = 128.94, ['volume'] = 24}, 600 - ['spaceshipholograms'] = {['name'] = 'Spaceship Hologram S', ['tier'] = 2, ['type'] = 'Hologram', ['mass'] = 112.72, ['volume'] = 9}, 601 - ['spaceshiphologramm'] = {['name'] = 'Spaceship Hologram M', ['tier'] = 2, ['type'] = 'Hologram', ['mass'] = 15.98, ['volume'] = 13}, 602 - ['spaceshipholograml'] = {['name'] = 'Spaceship Hologram L', ['tier'] = 2, ['type'] = 'Hologram', ['mass'] = 14.02, ['volume'] = 12.5}, 603 - ['planethologram'] = {['name'] = 'Planet Hologram', ['tier'] = 1, ['type'] = 'Hologram', ['mass'] = 13.39, ['volume'] = 12.5}, 604 - ['planetholograml'] = {['name'] = 'Planet Hologram L', ['tier'] = 1, ['type'] = 'Hologram', ['mass'] = 69.9, ['volume'] = 64}, 605 - ['steelcolumn'] = {['name'] = 'Steel Column', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 13.37, ['volume'] = 4}, 606 - ['steelpanel'] = {['name'] = 'Steel Panel', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 13.37, ['volume'] = 4}, 607 - ['hulldecorativeelementa'] = {['name'] = 'Hull Decorative Element A', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 14.65, ['volume'] = 4}, 608 - ['hulldecorativeelementb'] = {['name'] = 'Hull Decorative Element B', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 14.65, ['volume'] = 4}, 609 - ['hulldecorativeelementc'] = {['name'] = 'Hull Decorative Element C', ['tier'] = 1, ['type'] = 'Hull', ['mass'] = 14.65, ['volume'] = 4}, 610 - ['pipeam'] = {['name'] = 'Pipe A M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074}, 611 - ['pipebm'] = {['name'] = 'Pipe B M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074}, 612 - ['pipecm'] = {['name'] = 'Pipe C M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074}, 613 - ['pipedm'] = {['name'] = 'Pipe D M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074}, 614 - ['pipecornerm'] = {['name'] = 'Pipe Corner M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074}, 615 - ['pipeconnectorm'] = {['name'] = 'Pipe Connector M', ['tier'] = 1, ['type'] = 'Pipe', ['mass'] = 4320, ['volume'] = 1074}, 616 - ['plantcasea'] = {['name'] = 'Plant Case A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 21.42, ['volume'] = 24}, 617 - ['plantcaseb'] = {['name'] = 'Plant Case B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 618 - ['plantcasec'] = {['name'] = 'Plant Case C', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 619 - ['plantcased'] = {['name'] = 'Plant Case D', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 620 - ['plantcasee'] = {['name'] = 'Plant Case E', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 621 - ['suspendedfruitplant'] = {['name'] = 'Suspended Fruit Plant', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 622 - ['suspendedplanta'] = {['name'] = 'Suspended Plant A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 623 - ['suspendedplantb'] = {['name'] = 'Suspended Plant B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 624 - ['baggedplanta'] = {['name'] = 'Bagged Plant A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 625 - ['baggedplantb'] = {['name'] = 'Bagged Plant B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 626 - ['plant'] = {['name'] = 'Plant', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 3.52, ['volume'] = 4}, 627 - ['bonsai'] = {['name'] = 'Bonsai', ['tier'] = 5, ['type'] = 'Plant', ['mass'] = 902.04, ['volume'] = 180.6}, 628 - ['eggplantplantcase'] = {['name'] = 'Eggplant Plant Case', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 629 - ['saladplantcase'] = {['name'] = 'Salad Plant Case', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 630 - ['squashplantcase'] = {['name'] = 'Squash Plant Case', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 631 - ['plantcases'] = {['name'] = 'Plant Case S', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 632 - ['plantcasem'] = {['name'] = 'Plant Case M', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 633 - ['ficusplanta'] = {['name'] = 'Ficus Plant A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 634 - ['ficusplantb'] = {['name'] = 'Ficus Plant B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 635 - ['foliageplantcasea'] = {['name'] = 'Foliage Plant Case A', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 636 - ['foliageplantcaseb'] = {['name'] = 'Foliage Plant Case B', ['tier'] = 1, ['type'] = 'Plant', ['mass'] = 31.9, ['volume'] = 24}, 637 - ['windowxs'] = {['name'] = 'Window XS', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 47.32, ['volume'] = 24}, 638 - ['windows'] = {['name'] = 'Window S', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 94.64, ['volume'] = 48}, 639 - ['windowm'] = {['name'] = 'Window M', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 189.28, ['volume'] = 96}, 640 - ['windowl'] = {['name'] = 'Window L', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 378.56, ['volume'] = 192}, 641 - ['armoredwindowxs'] = {['name'] = 'Armored Window XS', ['tier'] = 2, ['type'] = 'Window', ['mass'] = 47.16, ['volume'] = 24}, 642 - ['armoredwindows'] = {['name'] = 'Armored Window S', ['tier'] = 2, ['type'] = 'Window', ['mass'] = 94.32, ['volume'] = 48}, 643 - ['armoredwindowm'] = {['name'] = 'Armored Window M', ['tier'] = 2, ['type'] = 'Window', ['mass'] = 188.64, ['volume'] = 96}, 644 - ['armoredwindowl'] = {['name'] = 'Armored Window L', ['tier'] = 2, ['type'] = 'Window', ['mass'] = 377.28, ['volume'] = 192}, 645 - ['glasspanels'] = {['name'] = 'Glass Panel S', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 5.02, ['volume'] = 4}, 646 - ['glasspanelm'] = {['name'] = 'Glass Panel M', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 20.08, ['volume'] = 16}, 647 - ['glasspanell'] = {['name'] = 'Glass Panel L', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 31.92, ['volume'] = 24}, 648 - ['baywindowxl'] = {['name'] = 'Bay Window XL', ['tier'] = 1, ['type'] = 'Window', ['mass'] = 5090, ['volume'] = 2544}, 649 - ['verticalwing'] = {['name'] = 'Vertical Wing', ['tier'] = 1, ['type'] = 'Winglets', ['mass'] = 20.3, ['volume'] = 4}, 650 - ['wingtips'] = {['name'] = 'Wing Tip S', ['tier'] = 1, ['type'] = 'Winglets', ['mass'] = 20.3, ['volume'] = 4}, 651 - ['wingtipm'] = {['name'] = 'Wing Tip M', ['tier'] = 1, ['type'] = 'Winglets', ['mass'] = 20.3, ['volume'] = 4}, 652 - ['wingtipl'] = {['name'] = 'Wing Tip L', ['tier'] = 1, ['type'] = 'Winglets', ['mass'] = 127.75, ['volume'] = 24}, 653 - ['aluminiumscrap'] = {['name'] = 'Aluminium Scrap', ['tier'] = 1, ['type'] = 'Scrap', ['mass'] = 2.7, ['volume'] = 1}, 654 - ['carbonscrap'] = {['name'] = 'Carbon Scrap', ['tier'] = 1, ['type'] = 'Scrap', ['mass'] = 2.27, ['volume'] = 1}, 655 - ['siliconscrap'] = {['name'] = 'Silicon Scrap', ['tier'] = 1, ['type'] = 'Scrap', ['mass'] = 2.33, ['volume'] = 1}, 656 - ['ironscrap'] = {['name'] = 'Iron Scrap', ['tier'] = 1, ['type'] = 'Scrap', ['mass'] = 7.85, ['volume'] = 1}, 657 - ['calciumscrap'] = {['name'] = 'Calcium Scrap', ['tier'] = 2, ['type'] = 'Scrap', ['mass'] = 1.55, ['volume'] = 1}, 658 - ['chromiumscrap'] = {['name'] = 'Chromium Scrap', ['tier'] = 2, ['type'] = 'Scrap', ['mass'] = 7.19, ['volume'] = 1}, 659 - ['copperscrap'] = {['name'] = 'Copper Scrap', ['tier'] = 2, ['type'] = 'Scrap', ['mass'] = 8.96, ['volume'] = 1}, 660 - ['sodiumscrap'] = {['name'] = 'Sodium Scrap', ['tier'] = 2, ['type'] = 'Scrap', ['mass'] = 0.97, ['volume'] = 1}, 661 - ['lithiumscrap'] = {['name'] = 'Lithium Scrap', ['tier'] = 3, ['type'] = 'Scrap', ['mass'] = 0.53, ['volume'] = 1}, 662 - ['nickelscrap'] = {['name'] = 'Nickel Scrap', ['tier'] = 3, ['type'] = 'Scrap', ['mass'] = 8.91, ['volume'] = 1}, 663 - ['silverscrap'] = {['name'] = 'Silver Scrap', ['tier'] = 3, ['type'] = 'Scrap', ['mass'] = 10.49, ['volume'] = 1}, 664 - ['sulfurscrap'] = {['name'] = 'Sulfur Scrap', ['tier'] = 3, ['type'] = 'Scrap', ['mass'] = 1.82, ['volume'] = 1}, 665 - ['cobaltscrap'] = {['name'] = 'Cobalt Scrap', ['tier'] = 4, ['type'] = 'Scrap', ['mass'] = 8.9, ['volume'] = 1}, 666 - ['fluorinescrap'] = {['name'] = 'Fluorine Scrap', ['tier'] = 4, ['type'] = 'Scrap', ['mass'] = 1.7, ['volume'] = 1}, 667 - ['goldscrap'] = {['name'] = 'Gold Scrap', ['tier'] = 4, ['type'] = 'Scrap', ['mass'] = 19.3, ['volume'] = 1}, 668 - ['scandiumscrap'] = {['name'] = 'Scandium Scrap', ['tier'] = 4, ['type'] = 'Scrap', ['mass'] = 2.98, ['volume'] = 1}, 669 - ['ironhoneycomb'] = {['name'] = 'Iron Honeycomb', ['tier'] = 1, ['type'] = 'Pure Honeycomb', ['mass'] = 78.5, ['volume'] = 10}, 670 - ['aluminiumhoneycomb'] = {['name'] = 'Aluminium Honeycomb', ['tier'] = 1, ['type'] = 'Pure Honeycomb', ['mass'] = 27, ['volume'] = 5}, 671 - ['carbonhoneycomb'] = {['name'] = 'Carbon Honeycomb', ['tier'] = 1, ['type'] = 'Pure Honeycomb', ['mass'] = 22.7, ['volume'] = 10}, 672 - ['siliconhoneycomb'] = {['name'] = 'Silicon Honeycomb', ['tier'] = 1, ['type'] = 'Pure Honeycomb', ['mass'] = 23.3, ['volume'] = 10}, 673 - ['copperhoneycomb'] = {['name'] = 'Copper Honeycomb', ['tier'] = 2, ['type'] = 'Pure Honeycomb', ['mass'] = 89.6, ['volume'] = 10}, 674 - ['chromiumhoneycomb'] = {['name'] = 'Chromium Honeycomb', ['tier'] = 2, ['type'] = 'Pure Honeycomb', ['mass'] = 71.9, ['volume'] = 10}, 675 - ['calciumhoneycomb'] = {['name'] = 'Calcium Honeycomb', ['tier'] = 2, ['type'] = 'Pure Honeycomb', ['mass'] = 15.5, ['volume'] = 10}, 676 - ['sodiumhoneycomb'] = {['name'] = 'Sodium Honeycomb', ['tier'] = 2, ['type'] = 'Pure Honeycomb', ['mass'] = 9.7, ['volume'] = 10}, 677 - ['lithiumhoneycomb'] = {['name'] = 'Lithium Honeycomb', ['tier'] = 3, ['type'] = 'Pure Honeycomb', ['mass'] = 5.3, ['volume'] = 10}, 678 - ['nickelhoneycomb'] = {['name'] = 'Nickel Honeycomb', ['tier'] = 3, ['type'] = 'Pure Honeycomb', ['mass'] = 89.1, ['volume'] = 10}, 679 - ['silverhoneycomb'] = {['name'] = 'Silver Honeycomb', ['tier'] = 3, ['type'] = 'Pure Honeycomb', ['mass'] = 104.9, ['volume'] = 10}, 680 - ['sulfurhoneycomb'] = {['name'] = 'Sulfur Honeycomb', ['tier'] = 3, ['type'] = 'Pure Honeycomb', ['mass'] = 18.19, ['volume'] = 10}, 681 - ['goldhoneycomb'] = {['name'] = 'Gold Honeycomb', ['tier'] = 4, ['type'] = 'Pure Honeycomb', ['mass'] = 193, ['volume'] = 10}, 682 - ['cobalthoneycomb'] = {['name'] = 'Cobalt Honeycomb', ['tier'] = 4, ['type'] = 'Pure Honeycomb', ['mass'] = 89, ['volume'] = 10}, 683 - ['fluorinehoneycomb'] = {['name'] = 'Fluorine Honeycomb', ['tier'] = 4, ['type'] = 'Pure Honeycomb', ['mass'] = 16.96, ['volume'] = 10}, 684 - ['scandiumhoneycomb'] = {['name'] = 'Scandium Honeycomb', ['tier'] = 4, ['type'] = 'Pure Honeycomb', ['mass'] = 29.85, ['volume'] = 10}, 685 - ['manganesehoneycomb'] = {['name'] = 'Manganese Honeycomb', ['tier'] = 5, ['type'] = 'Pure Honeycomb', ['mass'] = 72.1, ['volume'] = 10}, 686 - ['niobiumhoneycomb'] = {['name'] = 'Niobium Honeycomb', ['tier'] = 5, ['type'] = 'Pure Honeycomb', ['mass'] = 85.7, ['volume'] = 10}, 687 - ['titaniumhoneycomb'] = {['name'] = 'Titanium Honeycomb', ['tier'] = 5, ['type'] = 'Pure Honeycomb', ['mass'] = 45.1, ['volume'] = 10}, 688 - ['vanadiumhoneycomb'] = {['name'] = 'Vanadium Honeycomb', ['tier'] = 5, ['type'] = 'Pure Honeycomb', ['mass'] = 60, ['volume'] = 10}, 689 - ['plastichoneycomb'] = {['name'] = 'Plastic Honeycomb', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 27.57, ['volume'] = 10}, 690 - ['woodhoneycomb'] = {['name'] = 'Wood Honeycomb', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 27.19, ['volume'] = 10}, 691 - ['concretehoneycomb'] = {['name'] = 'Concrete Honeycomb', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 27.57, ['volume'] = 10}, 692 - ['carbonfiberhoneycomb'] = {['name'] = 'Carbonfiber Honeycomb', ['tier'] = 2, ['type'] = 'Product Honeycomb', ['mass'] = 27.38, ['volume'] = 10}, 693 - ['brickhoneycomb'] = {['name'] = 'Brick Honeycomb', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 27.57, ['volume'] = 10}, 694 - ['steelhoneycomb'] = {['name'] = 'Steel Honeycomb', ['tier'] = 2, ['type'] = 'Product Honeycomb', ['mass'] = 115.14, ['volume'] = 10}, 695 - ['marblehoneycomb'] = {['name'] = 'Marble Honeycomb', ['tier'] = 2, ['type'] = 'Product Honeycomb', ['mass'] = 129.4, ['volume'] = 10}, 696 - ['luminescentwhiteglass'] = {['name'] = 'Luminescent White Glass', ['tier'] = 1, ['type'] = 'Product Honeycomb', ['mass'] = 26, ['volume'] = 10}, 697 - ['resurrectionnode'] = {['name'] = 'Resurrection Node', ['tier'] = 2, ['type'] = 'Resurrection Node', ['mass'] = 728.43, ['volume'] = 203.33}, 698 - ['virtualscaffoldingprojector'] = {['name'] = 'Virtual Scaffolding Projector', ['tier'] = 4, ['type'] = 'Virtual Projector', ['mass'] = 167.11, ['volume'] = 122.4}, 699 - ['cannonxs'] = {['name'] = 'Cannon XS', ['tier'] = 1, ['type'] = 'Cannon', ['mass'] = 190.1, ['volume'] = 34.2}, 700 - ['cannons'] = {['name'] = 'Cannon S', ['tier'] = 2, ['type'] = 'Cannon', ['mass'] = 517.52, ['volume'] = 95.4}, 701 - ['cannonm'] = {['name'] = 'Cannon M', ['tier'] = 3, ['type'] = 'Cannon', ['mass'] = 2670, ['volume'] = 478}, 702 - ['cannonl'] = {['name'] = 'Cannon L', ['tier'] = 4, ['type'] = 'Cannon', ['mass'] = 15240, ['volume'] = 2614.2}, 703 - ['laserxs'] = {['name'] = 'Laser XS', ['tier'] = 1, ['type'] = 'Laser', ['mass'] = 118.55, ['volume'] = 39.2}, 704 - ['lasers'] = {['name'] = 'Laser S', ['tier'] = 2, ['type'] = 'Laser', ['mass'] = 508.26, ['volume'] = 120.2}, 705 - ['laserm'] = {['name'] = 'Laser M', ['tier'] = 3, ['type'] = 'Laser', ['mass'] = 2690, ['volume'] = 600.8}, 706 - ['laserl'] = {['name'] = 'Laser L', ['tier'] = 4, ['type'] = 'Laser', ['mass'] = 14770, ['volume'] = 3221}, 707 - ['missilexs'] = {['name'] = 'Missile XS', ['tier'] = 1, ['type'] = 'Missile', ['mass'] = 207.67, ['volume'] = 40.2}, 708 - ['missiles'] = {['name'] = 'Missile S', ['tier'] = 2, ['type'] = 'Missile', ['mass'] = 593.35, ['volume'] = 125.4}, 709 - ['missilem'] = {['name'] = 'Missile M', ['tier'] = 3, ['type'] = 'Missile', ['mass'] = 2970, ['volume'] = 628}, 710 - ['missilel'] = {['name'] = 'Missile L', ['tier'] = 4, ['type'] = 'Missile', ['mass'] = 16130, ['volume'] = 3364.2}, 711 - ['railgunxs'] = {['name'] = 'Railgun XS', ['tier'] = 1, ['type'] = 'Railgun', ['mass'] = 232.02, ['volume'] = 33.66}, 712 - ['railguns'] = {['name'] = 'Railgun S', ['tier'] = 2, ['type'] = 'Railgun', ['mass'] = 517.52, ['volume'] = 95.4}, 713 - ['railgunm'] = {['name'] = 'Railgun M', ['tier'] = 3, ['type'] = 'Railgun', ['mass'] = 3010, ['volume'] = 565.89}, 714 - ['railgunl'] = {['name'] = 'Railgun L', ['tier'] = 4, ['type'] = 'Railgun', ['mass'] = 16720, ['volume'] = 3054.89}, 715 - ['cannonagilekineticammoxs'] = {['name'] = 'Cannon Agile Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.61, ['volume'] = 1}, 716 - ['cannondefensekineticammoxs'] = {['name'] = 'Cannon Defense Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.59, ['volume'] = 1}, 717 - ['cannonheavykineticammoxs'] = {['name'] = 'Cannon Heavy Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.73, ['volume'] = 1}, 718 - ['cannonkineticammoxs'] = {['name'] = 'Cannon Kinetic Ammo XS', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 1.54, ['volume'] = 1}, 719 - ['cannonprecisionkineticammoxs'] = {['name'] = 'Cannon Precision Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.54, ['volume'] = 1}, 720 - ['cannonagilethermicammoxs'] = {['name'] = 'Cannon Agile Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.07, ['volume'] = 1}, 721 - ['cannondefensethermicammoxs'] = {['name'] = 'Cannon Defense Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.05, ['volume'] = 1}, 722 - ['cannonheavythermicammoxs'] = {['name'] = 'Cannon Heavy Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.19, ['volume'] = 1}, 723 - ['cannonprecisionthermicammoxs'] = {['name'] = 'Cannon Precision Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 1.08, ['volume'] = 1}, 724 - ['cannonthermicammoxs'] = {['name'] = 'Cannon Thermic Ammo XS', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 1.01, ['volume'] = 1}, 725 - ['cannonagilekineticammos'] = {['name'] = 'Cannon Agile Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 4.1, ['volume'] = 5}, 726 - ['cannondefensekineticammos'] = {['name'] = 'Cannon Defense Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 4.07, ['volume'] = 5}, 727 - ['cannonheavykineticammos'] = {['name'] = 'Cannon Heavy Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 4.34, ['volume'] = 5}, 728 - ['cannonkineticammos'] = {['name'] = 'Cannon Kinetic Ammo S', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 3.98, ['volume'] = 5}, 729 - ['cannonprecisionkineticammos'] = {['name'] = 'Cannon Precision Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 4.11, ['volume'] = 5}, 730 - ['cannonagilethermicammos'] = {['name'] = 'Cannon Agile Thermic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 3.2, ['volume'] = 5}, 731 - ['cannondefensethermicammos'] = {['name'] = 'Cannon Defense Thermic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 2.99, ['volume'] = 5}, 732 - ['cannonheavythermicammos'] = {['name'] = 'Cannon Heavy Thermic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 3.28, ['volume'] = 5}, 733 - ['cannonprecisionthermicammos'] = {['name'] = 'Cannon Precision Thermic Ammo S', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 3.2, ['volume'] = 5}, 734 - ['cannonthermicammos'] = {['name'] = 'Cannon Thermic Ammo S', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 2.93, ['volume'] = 5}, 735 - ['cannonagilekineticammom'] = {['name'] = 'Cannon Agile Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 14.73, ['volume'] = 25}, 736 - ['cannondefensekineticammom'] = {['name'] = 'Cannon Defense Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 14.66, ['volume'] = 25}, 737 - ['cannonheavykineticammom'] = {['name'] = 'Cannon Heavy Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 15.21, ['volume'] = 25}, 738 - ['cannonkineticammom'] = {['name'] = 'Cannon Kinetic Ammo M', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 14.66, ['volume'] = 25}, 739 - ['cannonprecisionkineticammom'] = {['name'] = 'Cannon Precision Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 14.76, ['volume'] = 25}, 740 - ['cannonagilethermicammom'] = {['name'] = 'Cannon Agile Thermic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 12.57, ['volume'] = 25}, 741 - ['cannondefensethermicammom'] = {['name'] = 'Cannon Defense Thermic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 12.5, ['volume'] = 25}, 742 - ['cannonheavythermicammom'] = {['name'] = 'Cannon Heavy Thermic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 13.05, ['volume'] = 25}, 743 - ['cannonprecisionthermicammom'] = {['name'] = 'Cannon Precision Thermic Ammo M', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 12.6, ['volume'] = 25}, 744 - ['cannonthermicammom'] = {['name'] = 'Cannon Thermic Ammo M', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 12.55, ['volume'] = 25}, 745 - ['cannonagilekineticammol'] = {['name'] = 'Cannon Agile Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 75.56, ['volume'] = 125}, 746 - ['cannondefensekineticammol'] = {['name'] = 'Cannon Defense Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 75.42, ['volume'] = 125}, 747 - ['cannonheavykineticammol'] = {['name'] = 'Cannon Heavy Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 76.52, ['volume'] = 125}, 748 - ['cannonkineticammol'] = {['name'] = 'Cannon Kinetic Ammo L', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 76.58, ['volume'] = 125}, 749 - ['cannonprecisionkineticammol'] = {['name'] = 'Cannon Precision Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 75.61, ['volume'] = 125}, 750 - ['cannonagilethermicammol'] = {['name'] = 'Cannon Agile Thermic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 71.24, ['volume'] = 125}, 751 - ['cannondefensethermicammol'] = {['name'] = 'Cannon Defense Thermic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 71.1, ['volume'] = 125}, 752 - ['cannonheavythermicammol'] = {['name'] = 'Cannon Heavy Thermic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 72.2, ['volume'] = 125}, 753 - ['cannonprecisionthermicammol'] = {['name'] = 'Cannon Precision Thermic Ammo L', ['tier'] = 3, ['type'] = 'Cannon Ammo', ['mass'] = 71.29, ['volume'] = 125}, 754 - ['cannonthermicammol'] = {['name'] = 'Cannon Thermic Ammo L', ['tier'] = 2, ['type'] = 'Cannon Ammo', ['mass'] = 72.37, ['volume'] = 125}, 755 - ['laseragileelectromagneticammoxs'] = {['name'] = 'Laser Agile Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 31.56, ['volume'] = 2}, 756 - ['laserdefenseelectromagneticammoxs'] = {['name'] = 'Laser Defense Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.54, ['volume'] = 2}, 757 - ['laserelectromagneticammoxs'] = {['name'] = 'Laser Electromagnetic Ammo XS', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 1.46, ['volume'] = 2}, 758 - ['laserheavyelectromagneticammoxs'] = {['name'] = 'Laser Heavy Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.68}, 759 - ['laserprecisionelectromagneticammoxs'] = {['name'] = 'Laser Precision Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.56, ['volume'] = 2}, 760 - ['laseragilethermicammoxs'] = {['name'] = 'Laser Agile Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 0.67, ['volume'] = 2}, 761 - ['laserdefensethermicammoxs'] = {['name'] = 'Laser Defense Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 0.65, ['volume'] = 2}, 762 - ['laserheavythermicammoxs'] = {['name'] = 'Laser Heavy Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 0.79, ['volume'] = 2}, 763 - ['laserprecisionthermicammoxs'] = {['name'] = 'Laser Precision Thermic Ammo XS', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 0.67, ['volume'] = 2}, 764 - ['laserthermicammoxs'] = {['name'] = 'Laser Thermic Ammo XS', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 0.6, ['volume'] = 2}, 765 - ['laseragileelectromagneticammos'] = {['name'] = 'Laser Agile Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.21, ['volume'] = 10}, 766 - ['laserdefenseelectromagneticammos'] = {['name'] = 'Laser Defense Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.18, ['volume'] = 10}, 767 - ['laserelectromagneticammos'] = {['name'] = 'Laser Electromagnetic Ammo S', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 3.03, ['volume'] = 10}, 768 - ['laserheavyelectromagneticammos'] = {['name'] = 'Laser Heavy Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.45, ['volume'] = 10}, 769 - ['laserprecisionelectromagneticammos'] = {['name'] = 'Laser Precision Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.23, ['volume'] = 10}, 770 - ['laseragilethermicammos'] = {['name'] = 'Laser Agile Thermic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.44, ['volume'] = 10}, 771 - ['laserdefensethermicammos'] = {['name'] = 'Laser Defense Thermic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.4, ['volume'] = 10}, 772 - ['laserheavythermicammos'] = {['name'] = 'Laser Heavy Thermic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.68, ['volume'] = 10}, 773 - ['laserprecisionthermicammos'] = {['name'] = 'Laser Precision Thermic Ammo S', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 1.45, ['volume'] = 10}, 774 - ['laserthermicammos'] = {['name'] = 'Laser Thermic Ammo S', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 1.31, ['volume'] = 10}, 775 - ['laseragileelectromagneticammom'] = {['name'] = 'Laser Agile Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 7.19, ['volume'] = 50}, 776 - ['laserdefenseelectromagneticammom'] = {['name'] = 'Laser Defense Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 7.12, ['volume'] = 50}, 777 - ['laserelectromagneticammom'] = {['name'] = 'Laser Electromagnetic Ammo M', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 6.78, ['volume'] = 50}, 778 - ['laserheavyelectromagneticammom'] = {['name'] = 'Laser Heavy Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 7.67, ['volume'] = 50}, 779 - ['laserprecisionelectromagneticammom'] = {['name'] = 'Laser Precision Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 7.22, ['volume'] = 50}, 780 - ['laseragilethermicammom'] = {['name'] = 'Laser Agile Thermic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.64, ['volume'] = 50}, 781 - ['laserdefensethermicammom'] = {['name'] = 'Laser Defense Thermic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.56, ['volume'] = 50}, 782 - ['laserheavythermicammom'] = {['name'] = 'Laser Heavy Thermic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 3.56, ['volume'] = 50}, 783 - ['laserprecisionthermicammom'] = {['name'] = 'Laser Precision Thermic Ammo M', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 4.12, ['volume'] = 50}, 784 - ['laserthermicammom'] = {['name'] = 'Laser Thermic Ammo M', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 3.34, ['volume'] = 50}, 785 - ['laseragileelectromagneticammol'] = {['name'] = 'Laser Agile Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 19.77, ['volume'] = 250}, 786 - ['laserdefenseelectromagneticammol'] = {['name'] = 'Laser Defense Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 19.62, ['volume'] = 250}, 787 - ['laserelectromagneticammol'] = {['name'] = 'Laser Electromagnetic Ammo L', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 18.7, ['volume'] = 250}, 788 - ['laserheavyelectromagneticammol'] = {['name'] = 'Laser Heavy Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 20.73, ['volume'] = 250}, 789 - ['laserprecisionelectromagneticammol'] = {['name'] = 'Laser Precision Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 19.81, ['volume'] = 250}, 790 - ['laseragilethermicammol'] = {['name'] = 'Laser Agile Thermic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 12.65, ['volume'] = 250}, 791 - ['laserdefensethermicammol'] = {['name'] = 'Laser Defense Thermic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 12.51, ['volume'] = 250}, 792 - ['laserheavythermicammol'] = {['name'] = 'Laser Heavy Thermic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 13.61, ['volume'] = 250}, 793 - ['laserprecisionthermicammol'] = {['name'] = 'Laser Precision Thermic Ammo L', ['tier'] = 3, ['type'] = 'Laser Ammo', ['mass'] = 12.7, ['volume'] = 250}, 794 - ['laserthermicammol'] = {['name'] = 'Laser Thermic Ammo L', ['tier'] = 2, ['type'] = 'Laser Ammo', ['mass'] = 11.81, ['volume'] = 250}, 795 - ['missileagileantimatterammoxs'] = {['name'] = 'Missile Agile Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 0.94, ['volume'] = 5}, 796 - ['missileantimatterammoxs'] = {['name'] = 'Missile Antimatter Ammo XS', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 0.87, ['volume'] = 5}, 797 - ['missiledefenseantimatterammoxs'] = {['name'] = 'Missile Defense Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 0.92, ['volume'] = 5}, 798 - ['missileheavyantimatterammoxs'] = {['name'] = 'Missile Heavy Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.06, ['volume'] = 5}, 799 - ['missileprecisionantimatterammoxs'] = {['name'] = 'Missile Precision Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 0.95, ['volume'] = 5}, 800 - ['missileagilekineticammoxs'] = {['name'] = 'Missile Agile Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.37, ['volume'] = 5}, 801 - ['missiledefensekineticammoxs'] = {['name'] = 'Missile Defense Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.35, ['volume'] = 5}, 802 - ['missileheavykineticammoxs'] = {['name'] = 'Missile Heavy Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.49, ['volume'] = 5}, 803 - ['missilekineticammoxs'] = {['name'] = 'Missile Kinetic Ammo XS', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 1.29, ['volume'] = 5}, 804 - ['missileprecisionkineticammoxs'] = {['name'] = 'Missile Precision Kinetic Ammo XS', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 1.38, ['volume'] = 5}, 805 - ['missileagileantimatterammos'] = {['name'] = 'Missile Agile Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.16, ['volume'] = 25}, 806 - ['missileantimatterammos'] = {['name'] = 'Missile Antimatter Ammo S', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 2.16, ['volume'] = 25}, 807 - ['missiledefenseantimatterammos'] = {['name'] = 'Missile Defense Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.12, ['volume'] = 25}, 808 - ['missileheavyantimatterammos'] = {['name'] = 'Missile Heavy Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.4, ['volume'] = 25}, 809 - ['missileprecisionantimatterammos'] = {['name'] = 'Missile Precision Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.17, ['volume'] = 25}, 810 - ['missileagilekineticammos'] = {['name'] = 'Missile Agile Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 3.02, ['volume'] = 25}, 811 - ['missiledefensekineticammos'] = {['name'] = 'Missile Defense Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 2.99, ['volume'] = 25}, 812 - ['missileheavykineticammos'] = {['name'] = 'Missile Heavy Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 3.26, ['volume'] = 25}, 813 - ['missilekineticammos'] = {['name'] = 'Missile Kinetic Ammo S', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 2.87, ['volume'] = 25}, 814 - ['missileprecisionkineticammos'] = {['name'] = 'Missile Precision Kinetic Ammo S', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 3.03, ['volume'] = 25}, 815 - ['missileagileantimatterammom'] = {['name'] = 'Missile Agile Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.41, ['volume'] = 125}, 816 - ['missileantimatterammom'] = {['name'] = 'Missile Antimatter Ammo M', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 6.24, ['volume'] = 125}, 817 - ['missiledefenseantimatterammom'] = {['name'] = 'Missile Defense Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.33, ['volume'] = 125}, 818 - ['missileheavyantimatterammom'] = {['name'] = 'Missile Heavy Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.89, ['volume'] = 125}, 819 - ['missileprecisionantimatterammom'] = {['name'] = 'Missile Precision Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.43, ['volume'] = 125}, 820 - ['missileagilekineticammom'] = {['name'] = 'Missile Agile Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 8.13, ['volume'] = 125}, 821 - ['missiledefensekineticammom'] = {['name'] = 'Missile Defense Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 8.06, ['volume'] = 125}, 822 - ['missileheavykineticammom'] = {['name'] = 'Missile Heavy Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 8.61, ['volume'] = 125}, 823 - ['missilekineticammom'] = {['name'] = 'Missile Kinetic Ammo M', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 7.92, ['volume'] = 125}, 824 - ['missileprecisionkineticammom'] = {['name'] = 'Missile Precision Kinetic Ammo M', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 8.15, ['volume'] = 125}, 825 - ['missileagileantimatterammol'] = {['name'] = 'Missile Agile Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 27.54, ['volume'] = 625}, 826 - ['missileantimatterammol'] = {['name'] = 'Missile Antimatter Ammo L', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 27.9, ['volume'] = 625}, 827 - ['missiledefenseantimatterammol'] = {['name'] = 'Missile Defense Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 6.33, ['volume'] = 625}, 828 - ['missileheavyantimatterammol'] = {['name'] = 'Missile Heavy Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 27.4, ['volume'] = 625}, 829 - ['missileprecisionantimatterammol'] = {['name'] = 'Missile Precision Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 27.59, ['volume'] = 625}, 830 - ['missileagilekineticammol'] = {['name'] = 'Missile Agile Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 30.99, ['volume'] = 625}, 831 - ['missiledefensekineticammol'] = {['name'] = 'Missile Defense Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 30.84, ['volume'] = 625}, 832 - ['missileheavykineticammol'] = {['name'] = 'Missile Heavy Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 31.95, ['volume'] = 625}, 833 - ['missilekineticammol'] = {['name'] = 'Missile Kinetic Ammo L', ['tier'] = 2, ['type'] = 'Missile Ammo', ['mass'] = 31.26, ['volume'] = 625}, 834 - ['missileprecisionkineticammol'] = {['name'] = 'Missile Precision Kinetic Ammo L', ['tier'] = 3, ['type'] = 'Missile Ammo', ['mass'] = 31.04, ['volume'] = 625}, 835 - ['railgunagileantimatterammoxs'] = {['name'] = 'Railgun Agile Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.04, ['volume'] = 10}, 836 - ['railgunantimatterammoxs'] = {['name'] = 'Railgun Antimatter Ammo XS', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 2.01, ['volume'] = 10}, 837 - ['railgundefenseantimatterammoxs'] = {['name'] = 'Railgun Defense Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.02, ['volume'] = 10}, 838 - ['railgunheavyantimatterammoxs'] = {['name'] = 'Railgun Heavy Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.16, ['volume'] = 10}, 839 - ['railgunprecisionantimatterammoxs'] = {['name'] = 'Railgun Precision Antimatter Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.05, ['volume'] = 10}, 840 - ['railgunagileelectromagneticammoxs'] = {['name'] = 'Railgun Agile Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.77, ['volume'] = 10}, 841 - ['railgundefenseelectromagneticammoxs'] = {['name'] = 'Railgun Defense Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.8, ['volume'] = 10}, 842 - ['railgunelectromagneticammoxs'] = {['name'] = 'Railgun Electromagnetic Ammo XS', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 6.43, ['volume'] = 10}, 843 - ['railgunheavyelectromagneticammoxs'] = {['name'] = 'Railgun Heavy Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.94, ['volume'] = 10}, 844 - ['railgunprecisionelectromagneticammoxs'] = {['name'] = 'Railgun Precision Electromagnetic Ammo XS', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 2.83, ['volume'] = 10}, 845 - ['railgunagileantimatterammos'] = {['name'] = 'Railgun Agile Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 4.96, ['volume'] = 50}, 846 - ['railgunantimatterammos'] = {['name'] = 'Railgun Antimatter Ammo S', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 4.92, ['volume'] = 50}, 847 - ['railgundefenseantimatterammos'] = {['name'] = 'Railgun Defense Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 4.93, ['volume'] = 50}, 848 - ['railgunheavyantimatterammos'] = {['name'] = 'Railgun Heavy Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 5.2, ['volume'] = 50}, 849 - ['railgunprecisionantimatterammos'] = {['name'] = 'Railgun Precision Antimatter Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 4.97, ['volume'] = 50}, 850 - ['railgunagileelectromagneticammos'] = {['name'] = 'Railgun Agile Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 6.52, ['volume'] = 50}, 851 - ['railgundefenseelectromagneticammos'] = {['name'] = 'Railgun Defense Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 6.49, ['volume'] = 50}, 852 - ['railgunelectromagneticammos'] = {['name'] = 'Railgun Electromagnetic Ammo S', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 6.43, ['volume'] = 50}, 853 - ['railgunheavyelectromagneticammos'] = {['name'] = 'Railgun Heavy Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 6.76, ['volume'] = 50}, 854 - ['railgunprecisionelectromagneticammos'] = {['name'] = 'Railgun Precision Electromagnetic Ammo S', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 6.53, ['volume'] = 50}, 855 - ['railgunagileantimatterammom'] = {['name'] = 'Railgun Agile Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 16.45, ['volume'] = 250}, 856 - ['railgunantimatterammom'] = {['name'] = 'Railgun Antimatter Ammo M', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 16.54, ['volume'] = 250}, 857 - ['railgundefenseantimatterammom'] = {['name'] = 'Railgun Defense Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 16.38, ['volume'] = 250}, 858 - ['railgunheavyantimatterammom'] = {['name'] = 'Railgun Heavy Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 16.93, ['volume'] = 250}, 859 - ['railgunprecisionantimatterammom'] = {['name'] = 'Railgun Precision Antimatter Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 16.48, ['volume'] = 250}, 860 - ['railgunagileelectromagneticammom'] = {['name'] = 'Railgun Agile Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 19.58, ['volume'] = 250}, 861 - ['railgundefenseelectromagneticammom'] = {['name'] = 'Railgun Defense Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 19.5, ['volume'] = 250}, 862 - ['railgunelectromagneticammom'] = {['name'] = 'Railgun Electromagnetic Ammo M', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 19.56, ['volume'] = 250}, 863 - ['railgunheavyelectromagneticammom'] = {['name'] = 'Railgun Heavy Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 20.06, ['volume'] = 250}, 864 - ['railgunprecisionelectromagneticammom'] = {['name'] = 'Railgun Precision Electromagnetic Ammo M', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 19.6, ['volume'] = 250}, 865 - ['railgunagileantimatterammol'] = {['name'] = 'Railgun Agile Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 79, ['volume'] = 1250}, 866 - ['railgunantimatterammol'] = {['name'] = 'Railgun Antimatter Ammo L', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 80.35, ['volume'] = 1250}, 867 - ['railgundefenseantimatterammol'] = {['name'] = 'Railgun Defense Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 78.86, ['volume'] = 1250}, 868 - ['railgunheavyantimatterammol'] = {['name'] = 'Railgun Heavy Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 79.96, ['volume'] = 1250}, 869 - ['railgunprecisionantimatterammol'] = {['name'] = 'Railgun Precision Antimatter Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 79.05, ['volume'] = 1250}, 870 - ['railgunagileelectromagneticammol'] = {['name'] = 'Railgun Agile Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 85.24, ['volume'] = 1250}, 871 - ['railgundefenseelectromagneticammol'] = {['name'] = 'Railgun Defense Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 85.1, ['volume'] = 1250}, 872 - ['railgunelectromagneticammol'] = {['name'] = 'Railgun Electromagnetic Ammo L', ['tier'] = 2, ['type'] = 'Railgun Ammo', ['mass'] = 86.4, ['volume'] = 1250}, 873 - ['railgunheavyelectromagneticammol'] = {['name'] = 'Railgun Heavy Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 86.2, ['volume'] = 1250}, 874 - ['railgunprecisionelectromagneticammol'] = {['name'] = 'Railgun Precision Electromagnetic Ammo L', ['tier'] = 3, ['type'] = 'Railgun Ammo', ['mass'] = 85.29, ['volume'] = 1250}, 875 - ['warpcell'] = {['name'] = 'Warp Cell', ['tier'] = 2, ['type'] = 'Warp Cell', ['mass'] = 100, ['volume'] = 40}, 876 - ['warpdrivel'] = {['name'] = 'Warp Drive L', ['tier'] = 1, ['type'] = 'Warp Drive Unit', ['mass'] = 31360, ['volume'] = 75}, 877 - ['warpbeaconxl'] = {['name'] = 'Warp Beacon XL', ['tier'] = 5, ['type'] = 'Warp Beacon Unit', ['mass'] = 148940, ['volume'] = 25360}, 878 - ['hatchs'] = {['name'] = 'Hatch S', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 229.09, ['volume'] = 64}, 879 - ['fuelintakexs'] = {['name'] = 'Fuel Intake XS', ['tier'] = 1, ['type'] = 'Door/Gate', ['mass'] = 4.12, ['volume'] = 2}, 880 - ['freightatmosphericenginexs'] = {['name'] = 'Freight Atmospheric Engine XS', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6}, 881 - ['safeatmosphericenginexs'] = {['name'] = 'Safe Atmospheric Engine XS', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6}, 882 - ['maneuveratmosphericenginexs'] = {['name'] = 'Maneuver Atmospheric Engine XS', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6}, 883 - ['militaryatmosphericenginexs'] = {['name'] = 'Military Atmospheric Engine XS', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 101.88, ['volume'] = 22.6}, 884 - ['freightatmosphericengines'] = {['name'] = 'Freight Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6}, 885 - ['maneuveratmosphericengines'] = {['name'] = 'Maneuver Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6}, 886 - ['militaryatmosphericengines'] = {['name'] = 'Military Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6}, 887 - ['safeatmosphericengines'] = {['name'] = 'Safe Atmospheric Engine S', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 539.99, ['volume'] = 116.6}, 888 - ['freightatmosphericenginem'] = {['name'] = 'Freight Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2}, 889 - ['maneuveratmosphericenginem'] = {['name'] = 'Maneuver Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2}, 890 - ['militaryatmosphericenginem'] = {['name'] = 'Military Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2}, 891 - ['safeatmosphericenginem'] = {['name'] = 'Safe Atmospheric Engine M', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 2980, ['volume'] = 619.2}, 892 - ['freightatmosphericenginel'] = {['name'] = 'Freight Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4}, 893 - ['maneuveratmosphericenginel'] = {['name'] = 'Maneuver Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4}, 894 - ['militaryatmosphericenginel'] = {['name'] = 'Military Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4}, 895 - ['safeatmosphericenginel'] = {['name'] = 'Safe Atmospheric Engine L', ['tier'] = 2, ['type'] = 'Atmospheric Engine', ['mass'] = 16930, ['volume'] = 3355.4}, 896 - ['freightspaceenginexs'] = {['name'] = 'Freight Space Engine XS', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33}, 897 - ['maneuverspaceenginexs'] = {['name'] = 'Maneuver Space Engine XS', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33}, 898 - ['militaryspaceenginexs'] = {['name'] = 'Military Space Engine XS', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33}, 899 - ['safespaceenginexs'] = {['name'] = 'Safe Space Engine XS', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 146.23, ['volume'] = 20.33}, 900 - ['freightspaceengines'] = {['name'] = 'Freight Space Engine S', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24}, 901 - ['maneuverspaceengines'] = {['name'] = 'Maneuver Space Engine S', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24}, 902 - ['militaryspaceengines'] = {['name'] = 'Military Space Engine S', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24}, 903 - ['safespaceengines'] = {['name'] = 'Safe Space Engine S', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 761.74, ['volume'] = 105.24}, 904 - ['freightspaceenginem'] = {['name'] = 'Freight Space Engine M', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4}, 905 - ['maneuverspaceenginem'] = {['name'] = 'Maneuver Space Engine M', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4}, 906 - ['militaryspaceenginem'] = {['name'] = 'Military Space Engine M', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4}, 907 - ['safespaceenginem'] = {['name'] = 'Safe Space Engine M', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 4090, ['volume'] = 562.4}, 908 - ['freightspaceenginel'] = {['name'] = 'Freight Space Engine L', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4}, 909 - ['maneuverspaceenginel'] = {['name'] = 'Maneuver Space Engine L', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4}, 910 - ['militaryspaceenginel'] = {['name'] = 'Military Space Engine L', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4}, 911 - ['safespaceenginel'] = {['name'] = 'Safe Space Engine L', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 22470, ['volume'] = 3071.4}, 912 - ['freightspaceenginexl'] = {['name'] = 'Freight Space Engine XL', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150}, 913 - ['maneuverspaceenginexl'] = {['name'] = 'Maneuver Space Engine XL', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150}, 914 - ['militaryspaceenginexl'] = {['name'] = 'Military Space Engine XL', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150}, 915 - ['safespaceenginexl'] = {['name'] = 'Safe Space Engine XL', ['tier'] = 2, ['type'] = 'Space Engine', ['mass'] = 126240, ['volume'] = 17150}, 916 - ['repairunit'] = {['name'] = 'Repair Unit', ['tier'] = 1, ['type'] = 'Combat Element', ['mass'] = 400, ['volume'] = 0}, 917 - ['surrogatepodstation'] = {['name'] = 'Surrogate Pod Station', ['tier'] = 1, ['type'] = 'Surrogate Element', ['mass'] = 569.52, ['volume'] = 360}, 918 - ['surrogatevrstation'] = {['name'] = 'Surrogate VR Station', ['tier'] = 1, ['type'] = 'Surrogate Element', ['mass'] = 742.42, ['volume'] = 360.2} 919 - }
+12 -6
Master program/source/system/actionStart_Option1.lua
··· 1 - --Send Command 1 2 - local selected_machine = elements[selected_machine_index] 3 - for _,db in pairs(databanks) do 4 - if db.hasKey(selected_machine.id) == 1 then 5 - selected_machine.command = command_1 6 - db.setStringValue(selected_machine.id, MyJson.stringify(selected_machine)) 1 + if enableRemoteControl == true then 2 + system.print("command 1") 3 + --Send Command 1 4 + local selected_machine = elements[selected_machine_index] 5 + for _,db in pairs(databanks) do 6 + --selected_machine.command = command_1 7 + db.setStringValue(selected_machine.id, command_1) 8 + end 9 + if emitter ~= nil then 10 + emitter.send(channels[elementsTypes[selected_index]:lower()], "") 11 + else 12 + system.print("Emitter not Linked") 7 13 end 8 14 end
+11 -6
Master program/source/system/actionStart_Option2.lua
··· 1 - --Send Command 2 2 - local selected_machine = elements[selected_machine_index] 3 - for _,db in pairs(databanks) do 4 - if db.hasKey(selected_machine.id) == 1 then 1 + if enableRemoteControl == true then 2 + --Send Command 12 3 + local selected_machine = elements[selected_machine_index] 4 + for _,db in pairs(databanks) do 5 5 if command_2:find("MAINTAIN") or command_2:find("BATCH") then 6 6 craft_quantity = "" 7 7 for _,digit in pairs(craft_quantity_digits) do ··· 9 9 end 10 10 command_2 = command_2 .. "_" .. craft_quantity 11 11 end 12 - selected_machine.command = command_2 13 - db.setStringValue(selected_machine.id, MyJson.stringify(selected_machine)) 12 + --selected_machine.command = command_2 13 + db.setStringValue(selected_machine.id, command_2) 14 14 if command_2:find("MAINTAIN") then command_2 = "MAINTAIN" end 15 15 if command_2:find("BATCH") then command_2 = "BATCH" end 16 + end 17 + if emitter ~= nil then 18 + emitter.send(channels[elementsTypes[selected_index]:lower()], "") 19 + else 20 + system.print("Emitter not Linked") 16 21 end 17 22 end
+11 -6
Master program/source/system/actionStart_Option3.lua
··· 1 - --Send Command 3 2 - local selected_machine = elements[selected_machine_index] 3 - for _,db in pairs(databanks) do 4 - if db.hasKey(selected_machine.id) == 1 then 1 + if enableRemoteControl == true then 2 + --Send Command 3 3 + local selected_machine = elements[selected_machine_index] 4 + for _,db in pairs(databanks) do 5 5 if command_3:find("MAINTAIN") or command_3:find("BATCH") then 6 6 craft_quantity = "" 7 7 for _,digit in pairs(craft_quantity_digits) do ··· 9 9 end 10 10 command_3 = command_3 .. "_" .. craft_quantity 11 11 end 12 - selected_machine.command = command_3 13 - db.setStringValue(selected_machine.id, MyJson.stringify(selected_machine)) 12 + --selected_machine.command = command_3 13 + db.setStringValue(selected_machine.id, command_3) 14 14 if command_3:find("MAINTAIN") then command_3 = "MAINTAIN" end 15 15 if command_3:find("BATCH") then command_3 = "BATCH" end 16 + end 17 + if emitter ~= nil then 18 + emitter.send(channels[elementsTypes[selected_index]:lower()], "") 19 + else 20 + system.print("Emitter not Linked") 16 21 end 17 22 end
-1
Master program/source/system/actionStart_Option8.lua
··· 1 - refreshActivated = not refreshActivated
+1 -6
Master program/source/system/actionStart_down.lua
··· 1 - if Ctrl_pressed == true and Alt_pressed == false then 1 + if Ctrl_pressed == true then 2 2 if selected_index < #elementsTypes then 3 3 selected_index = selected_index + 1 4 4 selected_machine_index = 1 ··· 7 7 craft_quantity_digits = {"0","0","0","0","0","0","0","0"} 8 8 selectedElementsId = {} 9 9 end 10 - elseif Alt_pressed == true and Ctrl_pressed == false then 11 - local digit_index = #craft_quantity_digits - craft_selected_digit + 1 12 - local value = tonumber(craft_quantity_digits[digit_index]) - 1 13 - if value < 0 then value = 9 end 14 - craft_quantity_digits[digit_index] = tostring(value) 15 10 else 16 11 if selected_machine_index < #elements then 17 12 selected_machine_index = selected_machine_index + 1
-1
Master program/source/system/actionStart_lalt.lua
··· 1 - Alt_pressed = true
+4 -10
Master program/source/system/actionStart_strafeleft.lua
··· 1 - if Alt_pressed == true then 2 - if craft_selected_digit < #craft_quantity_digits then 3 - craft_selected_digit = craft_selected_digit + 1 4 - end 5 - else 6 - if page > 1 then 7 - page = page - 1 8 - selected_machine_index = 1 9 - Storage.clear() 10 - end 1 + if page > 1 then 2 + page = page - 1 3 + selected_machine_index = 1 4 + Storage.clear() 11 5 end
+4 -10
Master program/source/system/actionStart_straferight.lua
··· 1 - if Alt_pressed == true then 2 - if craft_selected_digit > 1 then 3 - craft_selected_digit = craft_selected_digit - 1 4 - end 5 - else 6 - if page < maxPage then 7 - page = page + 1 8 - selected_machine_index = 1 9 - Storage.clear() 10 - end 1 + if page < maxPage then 2 + page = page + 1 3 + selected_machine_index = 1 4 + Storage.clear() 11 5 end
+1 -6
Master program/source/system/actionStart_up.lua
··· 1 - if Ctrl_pressed == true and Alt_pressed == false then 1 + if Ctrl_pressed == true then 2 2 if selected_index > 1 then 3 3 selected_index = selected_index - 1 4 4 selected_machine_index = 1 ··· 7 7 craft_quantity_digits = {"0","0","0","0","0","0","0","0"} 8 8 selectedElementsId = {} 9 9 end 10 - elseif Alt_pressed == true and Ctrl_pressed == false then 11 - local digit_index = #craft_quantity_digits - craft_selected_digit + 1 12 - local value = tonumber(craft_quantity_digits[digit_index]) + 1 13 - if value >= 10 then value = 0 end 14 - craft_quantity_digits[digit_index] = tostring(value) 15 10 else 16 11 if selected_machine_index > 1 then 17 12 selected_machine_index = selected_machine_index - 1
-1
Master program/source/system/actionStop_lalt.lua
··· 1 - Alt_pressed = true
+13
Master program/source/system/inputText.lua
··· 1 + system.print(text) 2 + if tonumber(text) then 3 + if #text > 8 then 4 + system.print("the value should not be higher than 99 999 999.") 5 + else 6 + for i = #text, 1, -1 do 7 + local c = text:sub(i,i) 8 + craft_quantity_digits[9-(#text-(i-1))] = c 9 + end 10 + end 11 + else 12 + system.print("You must type a Number") 13 + end
+87 -55
Master program/source/system/update.lua
··· 68 68 69 69 if initIndex >= #elementsIdList then 70 70 unit.stopTimer("init") 71 + --system.print(MyJson.stringify(allTypes)) 71 72 if not isTimerStarted then 72 73 isTimerStarted = true 73 74 unit.setTimer("buildLists",1) ··· 85 86 hud_machines = "" 86 87 hud_machine_detail = "" 87 88 89 + minOnPage = ((page - 1) * elementsByPage) + 1 90 + maxOnPage = page * elementsByPage 91 + 92 + elements = {} 93 + refresh_id_list = {} 94 + local temp_elements_for_sorting = {} 95 + for i,id in pairs(selectedElementsId) do 96 + elementData = {} 97 + elementData.id = id 98 + elementData.name = core.getElementNameById(id) 99 + table.insert(temp_elements_for_sorting, elementData) 100 + end 101 + table.sort(temp_elements_for_sorting, function(a,b) return a.name:lower() < b.name:lower() end) 102 + for i,elementData in pairs(temp_elements_for_sorting) do 103 + if i >= minOnPage and i <= maxOnPage then 104 + elementType = core.getElementTypeById(elementData.id) 105 + --if Storage.hasKey(elementData.id) == 1 then 106 + -- elementData = MyJson.parse(Storage.getStringValue(elementData.id)) 107 + --end 108 + elementData.type = elementType 109 + elementData.name = core.getElementNameById(elementData.id) 110 + elementData.position = core.getElementPositionById(elementData.id) 111 + --elementData.status = core.getElementIndustryStatus(elementData.id) 112 + 113 + table.insert(refresh_id_list, elementData.id) 114 + table.insert(elements, elementData) 115 + end 116 + end 117 + 88 118 if hud_displayed == true then 89 119 selected_type = elementsTypes[selected_index] 90 - elements = {} 91 - refresh_id_list = {} 92 120 93 - local minOnPage = ((page - 1) * elementsByPage) + 1 94 - local maxOnPage = page * elementsByPage 95 - local temp_elements_for_sorting = {} 96 - for i,id in pairs(selectedElementsId) do 97 - elementData = {} 98 - elementData.id = id 99 - elementData.name = core.getElementNameById(id) 100 - table.insert(temp_elements_for_sorting, elementData) 101 - end 102 - table.sort(temp_elements_for_sorting, function(a,b) return a.name:lower() < b.name:lower() end) 103 - for i,elementData in pairs(temp_elements_for_sorting) do 104 - if i >= minOnPage and i <= maxOnPage then 105 - elementType = core.getElementTypeById(elementData.id) 106 - if Storage.hasKey(elementData.id) == 1 then 107 - elementData = MyJson.parse(Storage.getStringValue(elementData.id)) 108 - end 109 - elementData.type = elementType 110 - elementData.name = core.getElementNameById(elementData.id) 111 - elementData.position = core.getElementPositionById(elementData.id) 112 - table.insert(refresh_id_list, elementData.id) 113 - table.insert(elements, elementData) 114 - end 115 - end 116 121 hud_elements_type_list = [[<div class="hud_list_container hud_container"> 117 122 <div style="text-align:center;font-weight:bold;border-bottom:1px solid white;">&#x2191; &nbsp;&nbsp; Ctrl+Arrow Up</div> 118 123 ]] 119 124 for i, elementType in pairs(elementsTypes) do 125 + --system.print(elementType) 120 126 hud_elements_type_list = hud_elements_type_list .. [[<div class="elementType]] 121 127 if i == selected_index then 122 128 hud_elements_type_list = hud_elements_type_list .. " selected" ··· 126 132 hud_elements_type_list = hud_elements_type_list .. [["> 127 133 <table style="width:100%;"> 128 134 <tr> 129 - <!--<th style="border-bottom:none;"> 130 - <img src="]] .. Icons[elementType:lower()] .. [[" style="width:20px;"> 131 - </th>--> 132 135 <th style="text-align:left;border-bottom:none;">]].. elementType .. [[</th> 133 - <td style="text-align:right;border-bottom:none;">]] .. count .. [[</td> 136 + <td style="text-align:right;border-bottom:none;">]] .. tostring(count) .. [[</td> 134 137 </tr> 135 138 </table> 136 139 </div> ··· 263 266 <tr> 264 267 <th>id</th> 265 268 <th>Machine Name</th> 269 + <th>Selected Recipe</th> 266 270 <th>Cycles From Start</th> 267 - <th>Efficiency</th> 268 271 <th>Status</th> 269 - <th>Uptime</th> 272 + <th>Mode</th> 273 + <th>Time Remaining</th> 270 274 </tr> 271 275 ]] 272 276 for i, element in pairs(elements) do 277 + local statusData = json.decode(core.getElementIndustryStatus(element.id)) 278 + local recipeName = "-" 279 + if loadedRecipes[statusData.schematicId] then 280 + recipeName = loadedRecipes[statusData.schematicId] 281 + else 282 + if has_value(recipeToLoad,statusData.schematicId) == false then 283 + table.insert(recipeToLoad, statusData.schematicId) 284 + end 285 + end 286 + local remainingTime = 0 287 + if (statusData) and (statusData.remainingTime) and (statusData.remainingTime <= (3600*24*365)) then 288 + remainingTime = statusData.remainingTime 289 + end 290 + element.recipeName = recipeName 291 + element.remainingTime = remainingTime 292 + element.status = statusData.state 293 + element.unitsProduced = statusData.unitsProduced 294 + local mode = "" 295 + element.maintainProductAmount = statusData.maintainProductAmount 296 + element.batchesRequested = statusData.batchesRequested 297 + if statusData.maintainProductAmount > 0 then 298 + mode = "Maintain " .. statusData.maintainProductAmount 299 + elseif statusData.batchesRequested > 0 and statusData.batchesRequested <= 99999999 then 300 + mode = "Produce " .. statusData.batchesRequested 301 + end 273 302 local status = "-" 274 303 if element.status then status = element.status end 275 304 local status_class = "" ··· 278 307 if status:lower():find("jammed") then status_class = "text-danger" end 279 308 if status:lower():find("pending") then status_class = "text-primary" end 280 309 status = status:gsub("JAMMED_", ""):gsub("_", " ") 281 - local cyclesFromStart = "-" 282 - if element.cyclesFromStart then cyclesFromStart = element.cyclesFromStart end 283 - local efficiency = "-" 284 - if element.efficiency then efficiency = math.floor(element.efficiency*100) end 285 - local uptime = 0 286 - if element.uptime then uptime = math.floor(element.uptime) end 287 310 hud_machines = hud_machines .. [[<tr]] 288 311 if selected_machine_index == i then 289 312 hud_machines = hud_machines .. [[ class="selected"]] 290 313 end 291 314 local machine_id = "-" 292 315 if element.id then machine_id = element.id end 316 + local unitsProduced = 0 317 + if element.unitsProduced then unitsProduced = element.unitsProduced end 293 318 hud_machines = hud_machines .. [[> 294 319 <th>]] .. machine_id .. [[</th> 295 320 <th class="]] .. status_class .. [[">]] .. element.name .. [[</th> 296 - <td>]] .. cyclesFromStart .. [[</td> 297 - <td>]] .. efficiency .. [[%</td> 321 + <th>]] .. recipeName .. [[</th> 322 + <td>]] .. unitsProduced .. [[</td> 298 323 <th class="]] .. status_class .. [[">]] .. status .. [[</th> 299 - <td class="]] .. status_class .. [[">]] .. SecondsToClockString(uptime) .. [[</td> 324 + <th>]] .. mode .. [[</th> 325 + <td class="]] .. status_class .. [[">]] .. SecondsToClockString(element.remainingTime) .. [[</td> 300 326 </tr> 301 327 ]] 302 328 end ··· 369 395 core.moveSticker(markers[9], x, y + offset2 + offsetFromCenter, z + offset15) 370 396 core.moveSticker(markers[10], x, y + offset2 + offsetFromCenter, z + offset15) 371 397 end 372 - if not selected_machine.type:lower():find("container") then 398 + if (not selected_machine.type:lower():find("container")) and (enableRemoteControl == true) then 373 399 local status = "-" 374 400 if selected_machine.status then status = selected_machine.status end 375 401 local status_class = "" ··· 412 438 <th rowspan="2"> 413 439 <table> 414 440 <tr> 415 - <th colspan="3">&#x2191; &nbsp;&nbsp; Alt+Arrow Up</th> 416 - </tr> 417 - <tr> 418 441 <th colspan="3">Quantity:</th> 419 442 </tr> 420 443 <tr> 421 - <th>&#x2190; &nbsp;&nbsp; Alt+<br>Arrow Left</th> 422 444 <th style="font-size:20px;"> 423 445 ]] 424 - for digit_index,digit in pairs(craft_quantity_digits) do 425 - if digit_index == (#craft_quantity_digits - craft_selected_digit + 1) then 426 - hud_machine_detail = hud_machine_detail .. [[<span class="text-success">]] 446 + local has_quantity = false 447 + for k,v in pairs(craft_quantity_digits) do 448 + if tonumber(v) > 0 then 449 + has_quantity = true 427 450 end 428 - hud_machine_detail = hud_machine_detail .. digit 429 - if digit_index == (#craft_quantity_digits - craft_selected_digit + 1) then 430 - hud_machine_detail = hud_machine_detail .. [[</span>]] 451 + end 452 + if not has_quantity then 453 + local value = "0" 454 + if selected_machine.maintainProductAmount > 0 then 455 + --mode = "Maintain " .. selected_machine.maintainProductAmount 456 + value = tostring(selected_machine.maintainProductAmount) 457 + elseif selected_machine.batchesRequested > 0 and selected_machine.batchesRequested <= 99999999 then 458 + --mode = "Produce " .. selected_machine.batchesRequested 459 + value = tostring(selected_machine.batchesRequested) 431 460 end 461 + for i = #value, 1, -1 do 462 + local c = value:sub(i,i) 463 + craft_quantity_digits[9-(#value-(i-1))] = c 464 + end 465 + end 466 + for digit_index,digit in pairs(craft_quantity_digits) do 467 + hud_machine_detail = hud_machine_detail .. digit 432 468 end 433 469 hud_machine_detail = hud_machine_detail .. [[ 434 470 </th> 435 - <th>Alt+ &nbsp;&nbsp; &#x2192;<br>Arrow Right</th> 436 471 </tr> 437 - <tr> 438 - <th colspan="3" style="border-bottom:none;">&#x2193; &nbsp;&nbsp; Alt+Arrow Down</th> 439 - </tr> 440 472 </table> 441 473 </th> 442 474 <th>ALT+2</th>
+38 -22
Master program/source/unit/start.lua
··· 2 2 receivers channels for each type of machine 3 3 ]] 4 4 5 - channel_for_refiner = "receiver_refiner" --export: receiver channel for updating refiners 6 - channel_for_assembly = "receiver_assembly" --export: receiver channel for updating assembly lines 7 - channel_for_smelter = "receiver_smelters" --export: receiver channel for updating smelters 8 - channel_for_chemical = "receiver_chemical" --export: receiver channel for updating chemical indutries 9 - channel_for_electronics = "receiver_electronics" --export: receiver channel for updating electronic industries 10 - channel_for_glass = "receiver_glass" --export: receiver channel for updating glass furnace 11 - channel_for_honeycomb = "receiver_honeycomb_recycler" --export: receiver channel for updating honeycomb refiniries 12 - channel_for_recycler = "receiver_honeycomb_recycler" --export: receiver channel for updating recylers 13 - channel_for_metalwork = "receiver_metalworks" --export: receiver channel for updating metalworks 14 - channel_for_3d_printer = "receiver_3dprinters" --export: receiver channel for updating 3d printers 15 - channel_for_transfer = "receiver_transfert" --export: receiver channel for updating tranfer units 16 - container_proficiency_lvl = 0 --export: Talent level for Container Proficiency 17 - container_fill_red_level = 10 --export: The percent fill below gauge will be red 18 - container_fill_yellow_level = 50 --export: The percent fill below gauge will be yellow 5 + channel_for_refiner = "receiver_refiner" --export: receiver channel to send orders to refiners 6 + channel_for_assembly = "receiver_assembly" --export: receiver channel to send orders to assembly lines 7 + channel_for_smelter = "receiver_smelters" --export: receiver channel to send orders to smelters 8 + channel_for_chemical = "receiver_chemical" --export: receiver channel to send orders to chemical indutries 9 + channel_for_electronics = "receiver_electronics" --export: receiver channel to send orders to electronic industries 10 + channel_for_glass = "receiver_glass" --export: receiver channel to send orders to glass furnace 11 + channel_for_honeycomb = "receiver_honeycomb_recycler" --export: receiver channel to send orders to honeycomb refiniries 12 + channel_for_recycler = "receiver_honeycomb_recycler" --export: receiver channel to send orders to recylers 13 + channel_for_metalwork = "receiver_metalworks" --export: receiver channel to send orders to metalworks 14 + channel_for_3d_printer = "receiver_3dprinters" --export: receiver channel to send orders to 3d printers 15 + channel_for_transfer = "receiver_transfert" --export: receiver channel to send orders to tranfer units 16 + 17 + container_proficiency_lvl = 0 ---export: Talent level for Container Proficiency 18 + container_fill_red_level = 10 ---export: The percent fill below gauge will be red 19 + container_fill_yellow_level = 50 ---export: The percent fill below gauge will be yellow 20 + 19 21 enableRefinerMonitoring = true --export: enable or disable the Refiners monitoring 20 22 enableAssemblyMonitoring = true --export: enable or disable the Assembly lines monitoring 21 23 enableSmelterMonitoring = true --export: enable or disable the Smelters monitoring ··· 27 29 enableMetalworkMonitoring = true --export: enable or disable the Metalworks monitoring 28 30 enable3DPrinterMonitoring = true --export: enable or disable the 3D Printers monitoring 29 31 enableTransferMonitoring = true --export: enable or disable the transfer units monitoring 30 - enableContainerMonitoring = true --export: enable or disable the containers and hubs monitoring 31 - containerMonitoringPrefix = "MONIT_" --export: the prefix used to enable container monitoring 32 - refreshSpeed = 1 --export: the refresh speed of data in seconds 32 + enableContainerMonitoring = false ---export: enable or disable the containers and hubs monitoring 33 + enableRemoteControl = true --export: enable the HUD to control machines (start/stop/batch/maintain) 34 + containerMonitoringPrefix = "MONIT_" ---export: the prefix used to enable container monitoring 33 35 elementsByPage = 20 --export: maximum amount of elements displayed on a single page 34 36 dateFormat = "en" --export: the country code to format the date 35 - maxAmountOfElementsLoadedBySecond = 2500 --export: if cpu load errors at start, lower that value 37 + maxAmountOfElementsLoadedBySecond = 2000 --export: if cpu load errors at start, lower that value 38 + maxAmountOfRecipeLoadedBySecond = 10 --export: if cpu load errors on page load, lower that value 36 39 37 40 --[[ 38 41 DO NOT CHANGE THE FOLLOWING ··· 71 74 end 72 75 end 73 76 end 77 + 78 + if emitter == nil then 79 + enableRemoteControl = false 80 + system.print("Connect an Emitter to enable machine control from industry") 81 + end 82 + if #databanks == 0 then 83 + enableRemoteControl = false 84 + system.print("No Databank linked") 85 + end 74 86 Storage = bankhub:new(databanks) 75 87 76 88 elementsId = {} ··· 81 93 coreOffset = 16 82 94 initIndex = 1 83 95 listIndex = 1 96 + elementsIdList = {} 84 97 if core ~= nil and Storage then 85 98 elementsIdList = core.getElementIdList() 86 - --system.print(#elementsIdList) 87 99 unit.setTimer("init",1) 88 100 end 89 101 90 102 elementsTypes = removeDuplicatesInTable(elementsTypes) 91 103 92 104 system.showScreen(1) 93 - unit.setTimer("refreshData", refreshSpeed) 94 105 channel_index = 1 95 106 selected_index = 1 96 107 selected_machine_index = 1 ··· 99 110 maxPage = 1 100 111 selectedElementsId = {} 101 112 Ctrl_pressed = false 102 - Alt_pressed = false 103 113 craft_quantity = "" 104 114 craft_quantity_digits = {"0","0","0","0","0","0","0","0"} 105 115 refresh_id_list = {} ··· 110 120 markers = {} 111 121 refreshActivated = true 112 122 hud_help_command = "" 113 - unit.setTimer("helperRefresh",1) 123 + unit.setTimer("helperRefresh",1) 124 + minOnPage = 0 125 + maxOnPage = 0 126 + recipeToLoad = {} 127 + loadedRecipes = {} 128 + 129 + unit.setTimer("recipeUpdate", 1)
+4 -1
Master program/source/unit/stop.lua
··· 1 - Storage.clear() 1 + Storage.clear() 2 + for _,m in pairs(markers) do 3 + core.deleteSticker(m) 4 + end
+6 -5
Master program/source/unit/tick_buildLists.lua
··· 1 - local maxForLoop = initIndex + maxAmountOfElementsLoadedBySecond 1 + local maxForLoop = listIndex + maxAmountOfElementsLoadedBySecond 2 2 if maxForLoop > #elementsId then maxForLoop = #elementsId end 3 3 4 4 selectedElementsId = {} 5 5 elementsTypes = {} 6 6 for i = listIndex, maxForLoop, 1 do 7 - --for _,id in pairs(elementsId) do 8 7 listIndex = i 9 8 local id = elementsId[i] 10 9 elementType = core.getElementTypeById(id) 11 10 local elementName = core.getElementNameById(id):lower() 12 11 if 13 - (elementType:lower():find("container") and elementName:find(containerMonitoringPrefix:lower())) 12 + (elementType:lower():find("container") 13 + and elementName:find(containerMonitoringPrefix:lower())) 14 14 or (not elementType:lower():find("container")) 15 15 then 16 - table.insert(elementsTypes, elementType) 16 + local formatedName = removeQualityInName(elementType) 17 + table.insert(elementsTypes, formatedName) 17 18 end 18 - if selected_type == elementType then 19 + if selected_type == removeQualityInName(elementType) then 19 20 if 20 21 (elementType:lower():find("container") and elementName:find(containerMonitoringPrefix:lower())) 21 22 or (not elementType:lower():find("container"))
-9
Master program/source/unit/tick_hekperRefresh.lua
··· 4 4 dateStr = day .. "/" .. month .. "/" .. year .. " " .. hour .. ":" .. minute .. ":" .. second 5 5 end 6 6 7 - local refreshStatusText = [[<span class="text-success">Disable Data Collection</span>]] 8 - if refreshActivated == false then 9 - refreshStatusText = [[<span class="text-danger">Enable Data Collection</span>]] 10 - end 11 - 12 7 hud_help_command = [[<div class="hud_help_commands hud_container"> 13 8 <table> 14 9 <tr> ··· 19 14 <tr> 20 15 <td>Show/Hide HUD</td> 21 16 <th style="text-align:right;">Alt+7</th> 22 - </tr> 23 - <tr> 24 - <td>]] .. refreshStatusText .. [[</td> 25 - <th style="text-align:right;">Alt+8</th> 26 17 </tr> 27 18 </table> 28 19 </div>]]
+38 -38
Master program/source/unit/tick_init.lua
··· 1 1 --load all the machines from the core step by step to avoid CPU Load Errors 2 2 3 - maxAmountOfElementsLoadedBySecond = 2500 --export: if cpu load errors at start, lower that value 4 - 5 3 local maxForLoop = initIndex + maxAmountOfElementsLoadedBySecond 6 4 if maxForLoop > #elementsIdList then maxForLoop = #elementsIdList end 7 - --system.print("init --- " .. initIndex .. " --- " .. maxForLoop) 5 + system.print("Loading elements from " .. initIndex .. " to " .. maxForLoop .. " on " .. #elementsIdList) 8 6 9 7 for i = initIndex, maxForLoop, 1 do 10 - initIndex = i 11 - local id = elementsIdList[i] 12 - elementType = core.getElementTypeById(id):lower() 13 - if (elementType == "assembly line" and enableAssemblyMonitoring == true) or 14 - (elementType == "glass furnace" and enableGlassMonitoring == true) or 15 - (elementType == "3d printer" and enable3DPrinterMonitoring == true) or 16 - (elementType == "smelter" and enableSmelterMonitoring == true) or 17 - (elementType == "recycler" and enableRecyclerMonitoring == true) or 18 - (elementType:find("refinery") and enableHoneycombMonitoring == true) or 19 - (elementType == "refiner" and enableRefinerMonitoring == true) or 20 - (elementType:find("industry") 21 - and ( 8 + initIndex = i 9 + local id = elementsIdList[i] 10 + elementType = core.getElementTypeById(id):lower() 11 + if (elementType:find("assembly line") and enableAssemblyMonitoring == true) or 12 + (elementType:find("glass furnace") and enableGlassMonitoring == true) or 13 + (elementType:find("3d printer") and enable3DPrinterMonitoring == true) or 14 + (elementType:find("smelter") and enableSmelterMonitoring == true) or 15 + (elementType:find("recycler") and enableRecyclerMonitoring == true) or 16 + (elementType:find("refinery") and enableHoneycombMonitoring == true) or 17 + (elementType:find("refiner") and enableRefinerMonitoring == true) or 18 + (elementType:find("industry") 19 + and ( 22 20 (elementType:find("chemical") and enableChemicalMonitoring == true) or 23 - (elementType:find("electronics") and enableElectronicsMonitoring == true) or 24 - (elementType:find("metalwork") and enableMetalworkMonitoring == true) 25 - ) 21 + (elementType:find("electronics") and enableElectronicsMonitoring == true) or 22 + (elementType:find("metalwork") and enableMetalworkMonitoring == true) 23 + ) 26 24 ) or 27 - (elementType == "transfer unit" and enableTransferMonitoring == true) or 25 + (elementType == "transfer unit" and enableTransferMonitoring == true) --[[or 28 26 (elementType:find("container") and enableContainerMonitoring == true) 29 - then 30 - if machines_count[elementType:lower()] ~= nil then 31 - machines_count[elementType:lower()] = machines_count[elementType:lower()] + 1 32 - else 33 - machines_count[elementType:lower()] = 1 34 - end 35 - table.insert(elementsId, id) 27 + ]]-- 28 + then 29 + local formatedType = removeQualityInName(elementType) 30 + if machines_count[formatedType] ~= nil then 31 + machines_count[formatedType] = machines_count[formatedType] + 1 32 + else 33 + machines_count[formatedType] = 1 36 34 end 37 - if elementType:find("core") then 38 - --thx to Archaego for the idea of getting the core size by HP 39 - --thx to Rutik for the offset values 40 - local hp = core.getElementHitPointsById(id) 41 - if hp > 10000 then 42 - coreOffset = 128 43 - elseif hp > 1000 then 44 - coreOffset = 64 45 - elseif hp > 150 then 46 - coreOffset = 32 47 - end 35 + table.insert(elementsId, id) 36 + end 37 + if elementType:find("core") then 38 + --thx to Archaego for the idea of getting the core size by HP 39 + --thx to Rutiik for the offset values 40 + local hp = core.getElementHitPointsById(id) 41 + if hp > 10000 then 42 + coreOffset = 128 43 + elseif hp > 1000 then 44 + coreOffset = 64 45 + elseif hp > 150 then 46 + coreOffset = 32 48 47 end 49 - end 48 + end 49 + end
+22
Master program/source/unit/tick_recipeUpdate.lua
··· 1 + if recipeListIndex == nil then recipeListIndex = 1 end 2 + local maxForLoop = recipeListIndex + maxAmountOfRecipeLoadedBySecond 3 + if maxForLoop > #recipeToLoad then maxForLoop = #recipeToLoad end 4 + --system.print("recipeUpdate " .. recipeListIndex .. "/" .. maxForLoop) 5 + for i = recipeListIndex, maxForLoop, 1 do 6 + recipeListIndex = i 7 + if (loadedRecipes[recipeToLoad[i]] == nil) and (tonumber(recipeToLoad[i]) > 0) then 8 + --system.print(recipeToLoad[i]) 9 + local recipe = json.decode(core.getSchematicInfo(recipeToLoad[i])) 10 + if (recipe.products) then 11 + if #recipe.products > 0 then 12 + recipeName = recipe.products[1].name 13 + end 14 + end 15 + loadedRecipes[recipeToLoad[i]] = recipeName 16 + end 17 + end 18 + if recipeListIndex >= #recipeToLoad then 19 + recipeToLoad = {} 20 + recipeListIndex = 1 21 + end 22 + --system.print(json.encode(loadedRecipes))
-10
Master program/source/unit/tick_refreshData.lua
··· 1 - if emitter ~= nil and #elementsTypes > 0 then 2 - for _,db in pairs(databanks) do 3 - for _,id in pairs(refresh_id_list) do 4 - db.setIntValue("refresh_" .. tostring(id), 1) 5 - end 6 - end 7 - if refreshActivated == true then 8 - emitter.send(channels[elementsTypes[selected_index]:lower()], "") 9 - end 10 - end