-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathconfig.json
More file actions
1 lines (1 loc) · 6.13 KB
/
config.json
File metadata and controls
1 lines (1 loc) · 6.13 KB
1
{"slots":{"0":{"name":"slot1","type":{"events":[],"methods":[]}},"1":{"name":"slot2","type":{"events":[],"methods":[]}},"2":{"name":"slot3","type":{"events":[],"methods":[]}},"3":{"name":"slot4","type":{"events":[],"methods":[]}},"4":{"name":"slot5","type":{"events":[],"methods":[]}},"5":{"name":"slot6","type":{"events":[],"methods":[]}},"6":{"name":"slot7","type":{"events":[],"methods":[]}},"7":{"name":"slot8","type":{"events":[],"methods":[]}},"8":{"name":"slot9","type":{"events":[],"methods":[]}},"9":{"name":"slot10","type":{"events":[],"methods":[]}},"-1":{"name":"unit","type":{"events":[],"methods":[]}},"-2":{"name":"system","type":{"events":[],"methods":[]}},"-3":{"name":"library","type":{"events":[],"methods":[]}}},"handlers":[{"code":"unit.hide()\n\nMaterial = \"Niobium\" --export: (Default: Coal) Ore Name\nVolume_Available_KL = \"1920\" --export: (Default: 192000) Available Volume (KL) in Hub or Container\n\ntemplate = [[\n<style type=\"text/css\">\n body {\n background-color: black;\n color: white;\n }\n\n table {\n width: 60%;\n margin-left: 20%;\n margin-top: 15vh;\n }\n\n img {\n width: 80%;\n }\n \n .left {\n width: 50%;\n text-align: center;\n }\n\n .right {\n text-align: center;\n }\n \n .material {\n font-size: 5vw;\n }\n\n .volume {\n font-size: 8vw;\n }\n\n .units {\n color: #666666;\n }\n\n .bar {\n width: 80%;\n margin-left: 10%;\n margin-top: 5vh;\n border: 1vh solid #666666;\n height: 20vh;\n }\n\n .progress {\n width: ${percent}%;\n height: 100%;\n background-color: #${color};\n }\n</style>\n<div style=\"width: 100%; height: 100%; background-color: black\">\n <table>\n <tr>\n <td class=\"left\">\n <img src=\"../../../../../../../resources_generated/${pureName}.png\" class=\"image\" />\n </td>\n <td class=\"right\">\n <div class=\"material\">${Material}</div>\n <div class=\"volume\">${volume} <span class=\"units\">kL</span></div>\n </td>\n </tr>\n </table>\n <div class=\"bar\"><div class=\"progress\"></div></div>\n</div>\n]]\n\nlocal ores = {\n \n Bauxite=\"iconsLib/materialslib/aluminium_ore\",\n Aluminium=\"iconsLib/materialslib/aluminium_ingot\",\n Coal=\"iconsLib/materialslib/carbonore\",\n Carbon=\"iconsLib/materialslib/carbon_ingot\",\n Hematite=\"iconsLib/materialslib/iron_ore\",\n Iron=\"iconsLib/materialslib/iron_ingot\",\n Quartz=\"iconsLib/materialslib/silicon_ore\",\n Silicon=\"iconsLib/materialslib/silicon_ingot\",\n Chromite=\"iconsLib/materialslib/chromiumore\",\n Chromium=\"iconsLib/materialslib/chromium_ingot\",\n Limestone=\"iconsLib/materialslib/calciumore\",\n Calcium=\"iconsLib/materialslib/calcium_ingot\",\n Malachite=\"iconsLib/materialslib/copper_ore\",\n Copper=\"iconsLib/materialslib/copper_ingot\",\n Natron=\"iconsLib/materialslib/sodiumore\",\n Sodium=\"iconsLib/materialslib/sodium_ingot\",\n Acanthite=\"iconsLib/materialslib/silverore\",\n Silver=\"iconsLib/materialslib/silver_ingot\",\n Garnierite=\"iconsLib/materialslib/nickelore\",\n Nickel=\"iconsLib/materialslib/nickel_ingot\";\n Petalite=\"iconsLib/materialslib/lithiumore\",\n Lithium=\"iconsLib/materialslib/lithium_ingot\",\n Pyrite=\"iconsLib/materialslib/sulfurore\",\n Sulfur=\"iconsLib/materialslib/sulfur_ingot\",\n Cobaltite=\"iconsLib/materialslib/cobaltore\",\n Cobalt=\"iconsLib/materialslib/cobalt_ingot\",\n Cryolite=\"iconsLib/materialslib/fluorineore\",\n Fluorine=\"iconsLib/materialslib/fluorine_ingot\",\n GoldNuggets=\"iconsLib/materialslib/gold_ore\",\n Gold=\"iconsLib/materialslib/gold_ingot\",\n Kolbeckite=\"iconsLib/materialslib/scandium_ore\",\n Scandium=\"iconsLib/materialslib/scandium_ingot\",\n Columbite=\"iconsLib/materialslib/niobiumore\",\n Niobium=\"iconsLib/materialslib/niobium_ingot\",\n Ilmenite=\"iconsLib/materialslib/titaniumore\",\n Titanium=\"iconsLib/materialslib/titanium_ingot\",\n Rhodonite=\"iconsLib/materialslib/manganese_ore\",\n Manganese=\"iconsLib/materialslib/manganese_ingot\",\n Thoramine=\"iconsLib/materialslib/env_thoramine-ore_001_icon\",\n Trithorium=\"iconsLib/materialslib/trithorium_pure\",\n Vanadinite=\"iconsLib/materialslib/vanadiumore\",\n Vanadium=\"iconsLib/materialslib/vanadium_ingot\",\n Hydrogen=\"elementsLib/pures/pure-gazs/pure-gaz-hydrogen_001/icons/env_pure-gaz-hydrogen_001_icon\",\n Oxygen=\"elementsLib/pures/pure-gazs/pure-gaz-oxygen_001/icons/env_pure-gaz-oxygen_001_icon\"\n}\n\nlocal config = {}\n\nfunction configure()\n if checkSlots(slot1, slot2) then\n config.screen = slot1\n config.container = slot2\n maxVolume = math.floor(slot2.getMaxVolume())\n currentVolume = math.floor(slot2.getItemsVolume())\n \n return true\n end\n\n if checkSlots(slot2, slot1) then\n config.screen = slot2\n config.container = slot1\n maxVolume = math.floor(slot1.getMaxVolume())\n currentVolume = math.floor(slot1.getItemsVolume())\n return true\n end\n\n system.print(\"Can't config\")\n return false\nend\n\nfunction checkSlots(a, b)\n return (a ~= nil and b ~= nil and\n string.match(a.getElementClass(), \"Screen\") and\n string.match(b.getElementClass(), \"Container\"))\nend\n\nfunction render()\n local pureName = ores[Material]\n if pureName == nil then\n system.print(\"Invalid ore name\")\n return\n end\n local volume = math.floor(currentVolume / 1000)\n local percent = volume / Volume_Available_KL * 100\n \n system.print(\"Volume: \" ..volume.. \" (volume)\")\n system.print(\"Percent: \" ..percent.. \" (Volume / Volume Available KL * 100)\")\n local color\n if percent > 75 then\n color = \"00aa00\"\n elseif percent > 50 then\n color = \"aaaa00\"\n else\n color = \"aa0000\"\n end\n local params = {\n pureName=pureName,\n Material=Material,\n volume=volume,\n percent=percent,\n color=color\n }\n config.screen.setHTML(interp(template, params))\nend\n\nfunction interp(s, tab)\n return (s:gsub('($%b{})', function(w) return tab[w:sub(3, -2)] or w end))\nend\n\nif configure() then\n render()\nend","filter":{"args":[],"signature":"start()","slotKey":"-1"},"key":"0"}],"methods":[],"events":[]}