Module:GenerateTables: Difference between revisions

From Foundry Wiki
No edit summary
No edit summary
Line 19: Line 19:
     tags={ "crusher" },
     tags={ "crusher" },
     rates={
     rates={
       { crafter="Crusher I", rate=20.0 },
       { crafter="Crusher I", timeMs=3000.0, rate=20.0 },
       { crafter="Crusher II", rate=40.0 },
       { crafter="Crusher II", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 42: Line 42:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=9.0 },
       { crafter="character", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler I", rate=3.0 },
       { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler II", rate=4.5 },
       { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
       { crafter="Assembler III", rate=6.0 },
       { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
     }
     }
   },
   },
Line 68: Line 68:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 92: Line 92:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 117: Line 117:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 142: Line 142:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 165: Line 165:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 189: Line 189:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 214: Line 214:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 239: Line 239:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler I", rate=6.0 },
       { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler II", rate=9.0 },
       { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler III", rate=12.0 },
       { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 263: Line 263:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 286: Line 286:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=30.0 },
       { crafter="character", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler I", rate=10.0 },
       { crafter="Assembler I", timeMs=6000.0, rate=10.0 },
       { crafter="Assembler II", rate=15.0 },
       { crafter="Assembler II", timeMs=4000.0, rate=15.0 },
       { crafter="Assembler III", rate=20.0 },
       { crafter="Assembler III", timeMs=3000.0, rate=20.0 },
     }
     }
   },
   },
Line 310: Line 310:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=30.0 },
       { crafter="character", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler I", rate=10.0 },
       { crafter="Assembler I", timeMs=6000.0, rate=10.0 },
       { crafter="Assembler II", rate=15.0 },
       { crafter="Assembler II", timeMs=4000.0, rate=15.0 },
       { crafter="Assembler III", rate=20.0 },
       { crafter="Assembler III", timeMs=3000.0, rate=20.0 },
     }
     }
   },
   },
Line 333: Line 333:
     tags={ "distillation_column" },
     tags={ "distillation_column" },
     rates={
     rates={
       { crafter="Distillation Column", rate=15.0 },
       { crafter="Distillation Column", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 353: Line 353:
     tags={ "distillation_column" },
     tags={ "distillation_column" },
     rates={
     rates={
       { crafter="Distillation Column", rate=15.0 },
       { crafter="Distillation Column", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 373: Line 373:
     tags={ "distillation_column" },
     tags={ "distillation_column" },
     rates={
     rates={
       { crafter="Distillation Column", rate=15.0 },
       { crafter="Distillation Column", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 395: Line 395:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 419: Line 419:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=24.0 },
       { crafter="character", timeMs=2500.0, rate=24.0 },
       { crafter="Assembler I", rate=8.0 },
       { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
       { crafter="Assembler II", rate=12.0 },
       { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler III", rate=16.0 },
       { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
     }
     }
   },
   },
Line 443: Line 443:
     tags={ "greenhouse" },
     tags={ "greenhouse" },
     rates={
     rates={
       { crafter="Greenhouse", rate=1.0 },
       { crafter="Greenhouse", timeMs=60000.0, rate=1.0 },
     }
     }
   },
   },
Line 464: Line 464:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=45.0 },
       { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
       { crafter="Assembler I", rate=15.0 },
       { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
       { crafter="Assembler II", rate=22.5 },
       { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler III", rate=30.0 },
       { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
     }
     }
   },
   },
Line 489: Line 489:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=9.0 },
       { crafter="character", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler I", rate=3.0 },
       { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler II", rate=4.5 },
       { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
       { crafter="Assembler III", rate=6.0 },
       { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
     }
     }
   },
   },
Line 513: Line 513:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 537: Line 537:
     tags={ "greenhouse" },
     tags={ "greenhouse" },
     rates={
     rates={
       { crafter="Greenhouse", rate=0.2 },
       { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
     }
     }
   },
   },
Line 558: Line 558:
     tags={ "greenhouse" },
     tags={ "greenhouse" },
     rates={
     rates={
       { crafter="Greenhouse", rate=0.2 },
       { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
     }
     }
   },
   },
Line 578: Line 578:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 602: Line 602:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=45.0 },
       { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
       { crafter="Assembler I", rate=15.0 },
       { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
       { crafter="Assembler II", rate=22.5 },
       { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler III", rate=30.0 },
       { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
     }
     }
   },
   },
Line 626: Line 626:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 649: Line 649:
     tags={ "crusher" },
     tags={ "crusher" },
     rates={
     rates={
       { crafter="Crusher I", rate=5.0 },
       { crafter="Crusher I", timeMs=12000.0, rate=5.0 },
       { crafter="Crusher II", rate=10.0 },
       { crafter="Crusher II", timeMs=6000.0, rate=10.0 },
     }
     }
   },
   },
Line 669: Line 669:
     tags={ "chemical_processor" },
     tags={ "chemical_processor" },
     rates={
     rates={
       { crafter="Chemical Processor", rate=5.0 },
       { crafter="Chemical Processor", timeMs=12000.0, rate=5.0 },
     }
     }
   },
   },
Line 691: Line 691:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 713: Line 713:
     tags={ "advanced_smelter" },
     tags={ "advanced_smelter" },
     rates={
     rates={
       { crafter="Advanced Smelter", rate=8.0 },
       { crafter="Advanced Smelter", timeMs=7500.0, rate=8.0 },
     }
     }
   },
   },
Line 734: Line 734:
     tags={ "casting_machine" },
     tags={ "casting_machine" },
     rates={
     rates={
       { crafter="Casting Machine", rate=4.0 },
       { crafter="Casting Machine", timeMs=15000.0, rate=4.0 },
     }
     }
   },
   },
Line 758: Line 758:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler I", rate=6.0 },
       { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler II", rate=9.0 },
       { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler III", rate=12.0 },
       { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 785: Line 785:
     tags={ "assembler" },
     tags={ "assembler" },
     rates={
     rates={
       { crafter="Assembler I", rate=0.6666666666666666 },
       { crafter="Assembler I", timeMs=90000.0, rate=0.6666666666666666 },
       { crafter="Assembler II", rate=1.0 },
       { crafter="Assembler II", timeMs=60000.0, rate=1.0 },
       { crafter="Assembler III", rate=1.3333333333333333 },
       { crafter="Assembler III", timeMs=45000.0, rate=1.3333333333333333 },
     }
     }
   },
   },
Line 809: Line 809:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler I", rate=6.0 },
       { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler II", rate=9.0 },
       { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler III", rate=12.0 },
       { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 831: Line 831:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 855: Line 855:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 879: Line 879:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 903: Line 903:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 926: Line 926:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 950: Line 950:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 974: Line 974:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=24.0 },
       { crafter="character", timeMs=2500.0, rate=24.0 },
       { crafter="Assembler I", rate=8.0 },
       { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
       { crafter="Assembler II", rate=12.0 },
       { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler III", rate=16.0 },
       { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
     }
     }
   },
   },
Line 997: Line 997:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=120.0 },
       { crafter="character", timeMs=500.0, rate=120.0 },
       { crafter="Assembler I", rate=40.0 },
       { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
       { crafter="Assembler II", rate=60.0 },
       { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler III", rate=80.0 },
       { crafter="Assembler III", timeMs=750.0, rate=80.0 },
     }
     }
   },
   },
Line 1,021: Line 1,021:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=72.0 },
       { crafter="character", timeMs=833.3333333333334, rate=72.0 },
       { crafter="Assembler I", rate=24.0 },
       { crafter="Assembler I", timeMs=2500.0, rate=24.0 },
       { crafter="Assembler II", rate=36.0 },
       { crafter="Assembler II", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler III", rate=48.0 },
       { crafter="Assembler III", timeMs=1250.0, rate=48.0 },
     }
     }
   },
   },
Line 1,045: Line 1,045:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=48.0 },
       { crafter="character", timeMs=1250.0, rate=48.0 },
       { crafter="Assembler I", rate=16.0 },
       { crafter="Assembler I", timeMs=3750.0, rate=16.0 },
       { crafter="Assembler II", rate=24.0 },
       { crafter="Assembler II", timeMs=2500.0, rate=24.0 },
       { crafter="Assembler III", rate=32.0 },
       { crafter="Assembler III", timeMs=1875.0, rate=32.0 },
     }
     }
   },
   },
Line 1,069: Line 1,069:
     tags={ "chemical_processor" },
     tags={ "chemical_processor" },
     rates={
     rates={
       { crafter="Chemical Processor", rate=0.5 },
       { crafter="Chemical Processor", timeMs=120000.0, rate=0.5 },
     }
     }
   },
   },
Line 1,088: Line 1,088:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=90.0 },
       { crafter="character", timeMs=666.6666666666666, rate=90.0 },
       { crafter="Assembler I", rate=30.0 },
       { crafter="Assembler I", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler II", rate=45.0 },
       { crafter="Assembler II", timeMs=1333.3333333333333, rate=45.0 },
       { crafter="Assembler III", rate=60.0 },
       { crafter="Assembler III", timeMs=1000.0, rate=60.0 },
     }
     }
   },
   },
Line 1,112: Line 1,112:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 1,136: Line 1,136:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=30.0 },
       { crafter="character", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler I", rate=10.0 },
       { crafter="Assembler I", timeMs=6000.0, rate=10.0 },
       { crafter="Assembler II", rate=15.0 },
       { crafter="Assembler II", timeMs=4000.0, rate=15.0 },
       { crafter="Assembler III", rate=20.0 },
       { crafter="Assembler III", timeMs=3000.0, rate=20.0 },
     }
     }
   },
   },
Line 1,158: Line 1,158:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=180.0 },
       { crafter="character", timeMs=333.3333333333333, rate=180.0 },
       { crafter="Assembler I", rate=60.0 },
       { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler II", rate=90.0 },
       { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
       { crafter="Assembler III", rate=120.0 },
       { crafter="Assembler III", timeMs=500.0, rate=120.0 },
     }
     }
   },
   },
Line 1,180: Line 1,180:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=180.0 },
       { crafter="character", timeMs=333.3333333333333, rate=180.0 },
       { crafter="Assembler I", rate=60.0 },
       { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler II", rate=90.0 },
       { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
       { crafter="Assembler III", rate=120.0 },
       { crafter="Assembler III", timeMs=500.0, rate=120.0 },
     }
     }
   },
   },
Line 1,202: Line 1,202:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=180.0 },
       { crafter="character", timeMs=333.3333333333333, rate=180.0 },
       { crafter="Assembler I", rate=60.0 },
       { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler II", rate=90.0 },
       { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
       { crafter="Assembler III", rate=120.0 },
       { crafter="Assembler III", timeMs=500.0, rate=120.0 },
     }
     }
   },
   },
Line 1,224: Line 1,224:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=180.0 },
       { crafter="character", timeMs=333.3333333333333, rate=180.0 },
       { crafter="Assembler I", rate=60.0 },
       { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler II", rate=90.0 },
       { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
       { crafter="Assembler III", rate=120.0 },
       { crafter="Assembler III", timeMs=500.0, rate=120.0 },
     }
     }
   },
   },
Line 1,246: Line 1,246:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=180.0 },
       { crafter="character", timeMs=333.3333333333333, rate=180.0 },
       { crafter="Assembler I", rate=60.0 },
       { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler II", rate=90.0 },
       { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
       { crafter="Assembler III", rate=120.0 },
       { crafter="Assembler III", timeMs=500.0, rate=120.0 },
     }
     }
   },
   },
Line 1,269: Line 1,269:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=180.0 },
       { crafter="character", timeMs=333.3333333333333, rate=180.0 },
       { crafter="Assembler I", rate=60.0 },
       { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler II", rate=90.0 },
       { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
       { crafter="Assembler III", rate=120.0 },
       { crafter="Assembler III", timeMs=500.0, rate=120.0 },
     }
     }
   },
   },
Line 1,291: Line 1,291:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=180.0 },
       { crafter="character", timeMs=333.3333333333333, rate=180.0 },
       { crafter="Assembler I", rate=60.0 },
       { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler II", rate=90.0 },
       { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
       { crafter="Assembler III", rate=120.0 },
       { crafter="Assembler III", timeMs=500.0, rate=120.0 },
     }
     }
   },
   },
Line 1,316: Line 1,316:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler I", rate=6.0 },
       { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler II", rate=9.0 },
       { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler III", rate=12.0 },
       { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 1,340: Line 1,340:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 1,364: Line 1,364:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 1,388: Line 1,388:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 1,412: Line 1,412:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 1,436: Line 1,436:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=24.0 },
       { crafter="character", timeMs=2500.0, rate=24.0 },
       { crafter="Assembler I", rate=8.0 },
       { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
       { crafter="Assembler II", rate=12.0 },
       { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler III", rate=16.0 },
       { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
     }
     }
   },
   },
Line 1,461: Line 1,461:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=6.0 },
       { crafter="character", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler I", rate=2.0 },
       { crafter="Assembler I", timeMs=30000.0, rate=2.0 },
       { crafter="Assembler II", rate=3.0 },
       { crafter="Assembler II", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler III", rate=4.0 },
       { crafter="Assembler III", timeMs=15000.0, rate=4.0 },
     }
     }
   },
   },
Line 1,485: Line 1,485:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=15.0 },
       { crafter="character", timeMs=4000.0, rate=15.0 },
       { crafter="Assembler I", rate=5.0 },
       { crafter="Assembler I", timeMs=12000.0, rate=5.0 },
       { crafter="Assembler II", rate=7.5 },
       { crafter="Assembler II", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler III", rate=10.0 },
       { crafter="Assembler III", timeMs=6000.0, rate=10.0 },
     }
     }
   },
   },
Line 1,510: Line 1,510:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 1,533: Line 1,533:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 1,556: Line 1,556:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 1,579: Line 1,579:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 1,604: Line 1,604:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=12.0 },
       { crafter="character", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler I", rate=4.0 },
       { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
       { crafter="Assembler II", rate=6.0 },
       { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler III", rate=8.0 },
       { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
     }
     }
   },
   },
Line 1,629: Line 1,629:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler I", rate=6.0 },
       { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler II", rate=9.0 },
       { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler III", rate=12.0 },
       { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 1,652: Line 1,652:
     tags={ "character" },
     tags={ "character" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
     }
     }
   },
   },
Line 1,674: Line 1,674:
     tags={ "assembler_fluid" },
     tags={ "assembler_fluid" },
     rates={
     rates={
       { crafter="Fluid Assembler I", rate=2.0 },
       { crafter="Fluid Assembler I", timeMs=30000.0, rate=2.0 },
     }
     }
   },
   },
Line 1,693: Line 1,693:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=120.0 },
       { crafter="character", timeMs=500.0, rate=120.0 },
       { crafter="Assembler I", rate=40.0 },
       { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
       { crafter="Assembler II", rate=60.0 },
       { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler III", rate=80.0 },
       { crafter="Assembler III", timeMs=750.0, rate=80.0 },
     }
     }
   },
   },
Line 1,717: Line 1,717:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 1,740: Line 1,740:
     tags={ "assembler_fluid" },
     tags={ "assembler_fluid" },
     rates={
     rates={
       { crafter="Fluid Assembler I", rate=12.0 },
       { crafter="Fluid Assembler I", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 1,759: Line 1,759:
     tags={ "casting_machine" },
     tags={ "casting_machine" },
     rates={
     rates={
       { crafter="Casting Machine", rate=5.0 },
       { crafter="Casting Machine", timeMs=12000.0, rate=5.0 },
     }
     }
   },
   },
Line 1,781: Line 1,781:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 1,805: Line 1,805:
     tags={ "chemical_processor" },
     tags={ "chemical_processor" },
     rates={
     rates={
       { crafter="Chemical Processor", rate=12.0 },
       { crafter="Chemical Processor", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 1,827: Line 1,827:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=9.0 },
       { crafter="character", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler I", rate=3.0 },
       { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler II", rate=4.5 },
       { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
       { crafter="Assembler III", rate=6.0 },
       { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
     }
     }
   },
   },
Line 1,851: Line 1,851:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=24.0 },
       { crafter="character", timeMs=2500.0, rate=24.0 },
       { crafter="Assembler I", rate=8.0 },
       { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
       { crafter="Assembler II", rate=12.0 },
       { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler III", rate=16.0 },
       { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
     }
     }
   },
   },
Line 1,875: Line 1,875:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=24.0 },
       { crafter="character", timeMs=2500.0, rate=24.0 },
       { crafter="Assembler I", rate=8.0 },
       { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
       { crafter="Assembler II", rate=12.0 },
       { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler III", rate=16.0 },
       { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
     }
     }
   },
   },
Line 1,898: Line 1,898:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=12.0 },
       { crafter="character", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler I", rate=4.0 },
       { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
       { crafter="Assembler II", rate=6.0 },
       { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler III", rate=8.0 },
       { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
     }
     }
   },
   },
Line 1,920: Line 1,920:
     tags={ "smelter", "advanced_smelter" },
     tags={ "smelter", "advanced_smelter" },
     rates={
     rates={
       { crafter="Advanced Smelter", rate=18.0 },
       { crafter="Advanced Smelter", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Smelter (Small)", rate=12.0 },
       { crafter="Smelter (Small)", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 1,940: Line 1,940:
     tags={ "crusher" },
     tags={ "crusher" },
     rates={
     rates={
       { crafter="Crusher I", rate=5.0 },
       { crafter="Crusher I", timeMs=12000.0, rate=5.0 },
       { crafter="Crusher II", rate=10.0 },
       { crafter="Crusher II", timeMs=6000.0, rate=10.0 },
     }
     }
   },
   },
Line 1,963: Line 1,963:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 1,988: Line 1,988:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=9.0 },
       { crafter="character", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler I", rate=3.0 },
       { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler II", rate=4.5 },
       { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
       { crafter="Assembler III", rate=6.0 },
       { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
     }
     }
   },
   },
Line 2,011: Line 2,011:
     tags={ "assembler_fluid" },
     tags={ "assembler_fluid" },
     rates={
     rates={
       { crafter="Fluid Assembler I", rate=12.0 },
       { crafter="Fluid Assembler I", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 2,033: Line 2,033:
     tags={ "assembler_fluid" },
     tags={ "assembler_fluid" },
     rates={
     rates={
       { crafter="Fluid Assembler I", rate=4.0 },
       { crafter="Fluid Assembler I", timeMs=15000.0, rate=4.0 },
     }
     }
   },
   },
Line 2,052: Line 2,052:
     tags={ "crusher" },
     tags={ "crusher" },
     rates={
     rates={
       { crafter="Crusher I", rate=12.0 },
       { crafter="Crusher I", timeMs=5000.0, rate=12.0 },
       { crafter="Crusher II", rate=24.0 },
       { crafter="Crusher II", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 2,074: Line 2,074:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 2,097: Line 2,097:
     tags={ "assembler_fluid" },
     tags={ "assembler_fluid" },
     rates={
     rates={
       { crafter="Fluid Assembler I", rate=15.0 },
       { crafter="Fluid Assembler I", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 2,116: Line 2,116:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=120.0 },
       { crafter="character", timeMs=500.0, rate=120.0 },
       { crafter="Assembler I", rate=40.0 },
       { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
       { crafter="Assembler II", rate=60.0 },
       { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler III", rate=80.0 },
       { crafter="Assembler III", timeMs=750.0, rate=80.0 },
     }
     }
   },
   },
Line 2,140: Line 2,140:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,163: Line 2,163:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=90.0 },
       { crafter="character", timeMs=666.6666666666666, rate=90.0 },
       { crafter="Assembler I", rate=30.0 },
       { crafter="Assembler I", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler II", rate=45.0 },
       { crafter="Assembler II", timeMs=1333.3333333333333, rate=45.0 },
       { crafter="Assembler III", rate=60.0 },
       { crafter="Assembler III", timeMs=1000.0, rate=60.0 },
     }
     }
   },
   },
Line 2,186: Line 2,186:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=90.0 },
       { crafter="character", timeMs=666.6666666666666, rate=90.0 },
       { crafter="Assembler I", rate=30.0 },
       { crafter="Assembler I", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler II", rate=45.0 },
       { crafter="Assembler II", timeMs=1333.3333333333333, rate=45.0 },
       { crafter="Assembler III", rate=60.0 },
       { crafter="Assembler III", timeMs=1000.0, rate=60.0 },
     }
     }
   },
   },
Line 2,208: Line 2,208:
     tags={ "electric_arc_furnace" },
     tags={ "electric_arc_furnace" },
     rates={
     rates={
       { crafter="Electric Arc Furnace", rate=8.0 },
       { crafter="Electric Arc Furnace", timeMs=7500.0, rate=8.0 },
     }
     }
   },
   },
Line 2,227: Line 2,227:
     tags={ "chemical_processor" },
     tags={ "chemical_processor" },
     rates={
     rates={
       { crafter="Chemical Processor", rate=7.5 },
       { crafter="Chemical Processor", timeMs=8000.0, rate=7.5 },
     }
     }
   },
   },
Line 2,246: Line 2,246:
     tags={ "electric_arc_furnace" },
     tags={ "electric_arc_furnace" },
     rates={
     rates={
       { crafter="Electric Arc Furnace", rate=1.0 },
       { crafter="Electric Arc Furnace", timeMs=60000.0, rate=1.0 },
     }
     }
   },
   },
Line 2,267: Line 2,267:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,291: Line 2,291:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,315: Line 2,315:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,339: Line 2,339:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,363: Line 2,363:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 2,388: Line 2,388:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=24.0 },
       { crafter="character", timeMs=2500.0, rate=24.0 },
       { crafter="Assembler I", rate=8.0 },
       { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
       { crafter="Assembler II", rate=12.0 },
       { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler III", rate=16.0 },
       { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
     }
     }
   },
   },
Line 2,412: Line 2,412:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler I", rate=6.0 },
       { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler II", rate=9.0 },
       { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler III", rate=12.0 },
       { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 2,437: Line 2,437:
     tags={ "assembler" },
     tags={ "assembler" },
     rates={
     rates={
       { crafter="Assembler I", rate=4.0 },
       { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
       { crafter="Assembler II", rate=6.0 },
       { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler III", rate=8.0 },
       { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
     }
     }
   },
   },
Line 2,459: Line 2,459:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=45.0 },
       { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
       { crafter="Assembler I", rate=15.0 },
       { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
       { crafter="Assembler II", rate=22.5 },
       { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler III", rate=30.0 },
       { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
     }
     }
   },
   },
Line 2,481: Line 2,481:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=120.0 },
       { crafter="character", timeMs=500.0, rate=120.0 },
       { crafter="Assembler I", rate=40.0 },
       { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
       { crafter="Assembler II", rate=60.0 },
       { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler III", rate=80.0 },
       { crafter="Assembler III", timeMs=750.0, rate=80.0 },
     }
     }
   },
   },
Line 2,504: Line 2,504:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=40.0 },
       { crafter="character", timeMs=1500.0, rate=40.0 },
       { crafter="Assembler I", rate=13.333333333333334 },
       { crafter="Assembler I", timeMs=4500.0, rate=13.333333333333334 },
       { crafter="Assembler II", rate=20.0 },
       { crafter="Assembler II", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler III", rate=26.666666666666668 },
       { crafter="Assembler III", timeMs=2250.0, rate=26.666666666666668 },
     }
     }
   },
   },
Line 2,528: Line 2,528:
     tags={ "character" },
     tags={ "character" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
     }
     }
   },
   },
Line 2,550: Line 2,550:
     tags={ "character" },
     tags={ "character" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
     }
     }
   },
   },
Line 2,572: Line 2,572:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=9.0 },
       { crafter="character", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler I", rate=3.0 },
       { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler II", rate=4.5 },
       { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
       { crafter="Assembler III", rate=6.0 },
       { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
     }
     }
   },
   },
Line 2,594: Line 2,594:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=9.0 },
       { crafter="character", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler I", rate=3.0 },
       { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler II", rate=4.5 },
       { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
       { crafter="Assembler III", rate=6.0 },
       { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
     }
     }
   },
   },
Line 2,616: Line 2,616:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 2,638: Line 2,638:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 2,660: Line 2,660:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,683: Line 2,683:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,705: Line 2,705:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,728: Line 2,728:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,751: Line 2,751:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,775: Line 2,775:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,797: Line 2,797:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,820: Line 2,820:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,843: Line 2,843:
     tags={ "assembler_fluid" },
     tags={ "assembler_fluid" },
     rates={
     rates={
       { crafter="Fluid Assembler I", rate=20.0 },
       { crafter="Fluid Assembler I", timeMs=3000.0, rate=20.0 },
     }
     }
   },
   },
Line 2,863: Line 2,863:
     tags={ "assembler_fluid" },
     tags={ "assembler_fluid" },
     rates={
     rates={
       { crafter="Fluid Assembler I", rate=20.0 },
       { crafter="Fluid Assembler I", timeMs=3000.0, rate=20.0 },
     }
     }
   },
   },
Line 2,882: Line 2,882:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,905: Line 2,905:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,928: Line 2,928:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,951: Line 2,951:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,973: Line 2,973:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 2,996: Line 2,996:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 3,019: Line 3,019:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 3,043: Line 3,043:
     tags={ "chemical_processor" },
     tags={ "chemical_processor" },
     rates={
     rates={
       { crafter="Chemical Processor", rate=7.5 },
       { crafter="Chemical Processor", timeMs=8000.0, rate=7.5 },
     }
     }
   },
   },
Line 3,062: Line 3,062:
     tags={ "crusher" },
     tags={ "crusher" },
     rates={
     rates={
       { crafter="Crusher I", rate=40.0 },
       { crafter="Crusher I", timeMs=1500.0, rate=40.0 },
       { crafter="Crusher II", rate=80.0 },
       { crafter="Crusher II", timeMs=750.0, rate=80.0 },
     }
     }
   },
   },
Line 3,083: Line 3,083:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler I", rate=6.0 },
       { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler II", rate=9.0 },
       { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler III", rate=12.0 },
       { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 3,105: Line 3,105:
     tags={ "crusher" },
     tags={ "crusher" },
     rates={
     rates={
       { crafter="Crusher I", rate=40.0 },
       { crafter="Crusher I", timeMs=1500.0, rate=40.0 },
       { crafter="Crusher II", rate=80.0 },
       { crafter="Crusher II", timeMs=750.0, rate=80.0 },
     }
     }
   },
   },
Line 3,125: Line 3,125:
     tags={ "crusher" },
     tags={ "crusher" },
     rates={
     rates={
       { crafter="Crusher I", rate=40.0 },
       { crafter="Crusher I", timeMs=1500.0, rate=40.0 },
       { crafter="Crusher II", rate=80.0 },
       { crafter="Crusher II", timeMs=750.0, rate=80.0 },
     }
     }
   },
   },
Line 3,147: Line 3,147:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 3,169: Line 3,169:
     tags={ "crusher" },
     tags={ "crusher" },
     rates={
     rates={
       { crafter="Crusher I", rate=40.0 },
       { crafter="Crusher I", timeMs=1500.0, rate=40.0 },
       { crafter="Crusher II", rate=80.0 },
       { crafter="Crusher II", timeMs=750.0, rate=80.0 },
     }
     }
   },
   },
Line 3,191: Line 3,191:
     tags={ "chemical_processor" },
     tags={ "chemical_processor" },
     rates={
     rates={
       { crafter="Chemical Processor", rate=8.0 },
       { crafter="Chemical Processor", timeMs=7500.0, rate=8.0 },
     }
     }
   },
   },
Line 3,212: Line 3,212:
     tags={ "character" },
     tags={ "character" },
     rates={
     rates={
       { crafter="character", rate=30.0 },
       { crafter="character", timeMs=2000.0, rate=30.0 },
     }
     }
   },
   },
Line 3,231: Line 3,231:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=45.0 },
       { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
       { crafter="Assembler I", rate=15.0 },
       { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
       { crafter="Assembler II", rate=22.5 },
       { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler III", rate=30.0 },
       { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
     }
     }
   },
   },
Line 3,253: Line 3,253:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=45.0 },
       { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
       { crafter="Assembler I", rate=15.0 },
       { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
       { crafter="Assembler II", rate=22.5 },
       { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler III", rate=30.0 },
       { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
     }
     }
   },
   },
Line 3,275: Line 3,275:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=45.0 },
       { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
       { crafter="Assembler I", rate=15.0 },
       { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
       { crafter="Assembler II", rate=22.5 },
       { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler III", rate=30.0 },
       { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
     }
     }
   },
   },
Line 3,298: Line 3,298:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 3,320: Line 3,320:
     tags={ "character" },
     tags={ "character" },
     rates={
     rates={
       { crafter="character", rate=30.0 },
       { crafter="character", timeMs=2000.0, rate=30.0 },
     }
     }
   },
   },
Line 3,339: Line 3,339:
     tags={ "casting_machine" },
     tags={ "casting_machine" },
     rates={
     rates={
       { crafter="Casting Machine", rate=30.0 },
       { crafter="Casting Machine", timeMs=2000.0, rate=30.0 },
     }
     }
   },
   },
Line 3,359: Line 3,359:
     tags={ "assembler_fluid" },
     tags={ "assembler_fluid" },
     rates={
     rates={
       { crafter="Fluid Assembler I", rate=15.0 },
       { crafter="Fluid Assembler I", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 3,378: Line 3,378:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=45.0 },
       { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
       { crafter="Assembler I", rate=15.0 },
       { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
       { crafter="Assembler II", rate=22.5 },
       { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler III", rate=30.0 },
       { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
     }
     }
   },
   },
Line 3,401: Line 3,401:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 3,425: Line 3,425:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 3,448: Line 3,448:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 3,473: Line 3,473:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 3,497: Line 3,497:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 3,521: Line 3,521:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=60.0 },
       { crafter="character", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler I", rate=20.0 },
       { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
       { crafter="Assembler II", rate=30.0 },
       { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
       { crafter="Assembler III", rate=40.0 },
       { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 3,546: Line 3,546:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=9.0 },
       { crafter="character", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler I", rate=3.0 },
       { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler II", rate=4.5 },
       { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
       { crafter="Assembler III", rate=6.0 },
       { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
     }
     }
   },
   },
Line 3,568: Line 3,568:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=120.0 },
       { crafter="character", timeMs=500.0, rate=120.0 },
       { crafter="Assembler I", rate=40.0 },
       { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
       { crafter="Assembler II", rate=60.0 },
       { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler III", rate=80.0 },
       { crafter="Assembler III", timeMs=750.0, rate=80.0 },
     }
     }
   },
   },
Line 3,592: Line 3,592:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=45.0 },
       { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
       { crafter="Assembler I", rate=15.0 },
       { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
       { crafter="Assembler II", rate=22.5 },
       { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler III", rate=30.0 },
       { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
     }
     }
   },
   },
Line 3,616: Line 3,616:
     tags={ "assembler" },
     tags={ "assembler" },
     rates={
     rates={
       { crafter="Assembler I", rate=4.0 },
       { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
       { crafter="Assembler II", rate=6.0 },
       { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler III", rate=8.0 },
       { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
     }
     }
   },
   },
Line 3,639: Line 3,639:
     tags={ "assembler" },
     tags={ "assembler" },
     rates={
     rates={
       { crafter="Assembler I", rate=4.0 },
       { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
       { crafter="Assembler II", rate=6.0 },
       { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler III", rate=8.0 },
       { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
     }
     }
   },
   },
Line 3,662: Line 3,662:
     tags={ "assembler" },
     tags={ "assembler" },
     rates={
     rates={
       { crafter="Assembler I", rate=4.0 },
       { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
       { crafter="Assembler II", rate=6.0 },
       { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler III", rate=8.0 },
       { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
     }
     }
   },
   },
Line 3,686: Line 3,686:
     tags={ "assembler" },
     tags={ "assembler" },
     rates={
     rates={
       { crafter="Assembler I", rate=4.0 },
       { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
       { crafter="Assembler II", rate=6.0 },
       { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler III", rate=8.0 },
       { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
     }
     }
   },
   },
Line 3,710: Line 3,710:
     tags={ "assembler" },
     tags={ "assembler" },
     rates={
     rates={
       { crafter="Assembler I", rate=2.0 },
       { crafter="Assembler I", timeMs=30000.0, rate=2.0 },
       { crafter="Assembler II", rate=3.0 },
       { crafter="Assembler II", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler III", rate=4.0 },
       { crafter="Assembler III", timeMs=15000.0, rate=4.0 },
     }
     }
   },
   },
Line 3,733: Line 3,733:
     tags={ "greenhouse" },
     tags={ "greenhouse" },
     rates={
     rates={
       { crafter="Greenhouse", rate=0.2 },
       { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
     }
     }
   },
   },
Line 3,754: Line 3,754:
     tags={ "greenhouse" },
     tags={ "greenhouse" },
     rates={
     rates={
       { crafter="Greenhouse", rate=0.2 },
       { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
     }
     }
   },
   },
Line 3,776: Line 3,776:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler I", rate=6.0 },
       { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler II", rate=9.0 },
       { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler III", rate=12.0 },
       { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 3,801: Line 3,801:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler I", rate=6.0 },
       { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler II", rate=9.0 },
       { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler III", rate=12.0 },
       { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 3,825: Line 3,825:
     tags={ "greenhouse" },
     tags={ "greenhouse" },
     rates={
     rates={
       { crafter="Greenhouse", rate=0.2 },
       { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
     }
     }
   },
   },
Line 3,846: Line 3,846:
     tags={ "greenhouse" },
     tags={ "greenhouse" },
     rates={
     rates={
       { crafter="Greenhouse", rate=0.2 },
       { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
     }
     }
   },
   },
Line 3,868: Line 3,868:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=9.0 },
       { crafter="character", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler I", rate=3.0 },
       { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler II", rate=4.5 },
       { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
       { crafter="Assembler III", rate=6.0 },
       { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
     }
     }
   },
   },
Line 3,891: Line 3,891:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=6.0 },
       { crafter="character", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler I", rate=2.0 },
       { crafter="Assembler I", timeMs=30000.0, rate=2.0 },
       { crafter="Assembler II", rate=3.0 },
       { crafter="Assembler II", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler III", rate=4.0 },
       { crafter="Assembler III", timeMs=15000.0, rate=4.0 },
     }
     }
   },
   },
Line 3,914: Line 3,914:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=6.0 },
       { crafter="character", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler I", rate=2.0 },
       { crafter="Assembler I", timeMs=30000.0, rate=2.0 },
       { crafter="Assembler II", rate=3.0 },
       { crafter="Assembler II", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler III", rate=4.0 },
       { crafter="Assembler III", timeMs=15000.0, rate=4.0 },
     }
     }
   },
   },
Line 3,938: Line 3,938:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=3.0 },
       { crafter="character", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler I", rate=1.0 },
       { crafter="Assembler I", timeMs=60000.0, rate=1.0 },
       { crafter="Assembler II", rate=1.5 },
       { crafter="Assembler II", timeMs=40000.0, rate=1.5 },
       { crafter="Assembler III", rate=2.0 },
       { crafter="Assembler III", timeMs=30000.0, rate=2.0 },
     }
     }
   },
   },
Line 3,962: Line 3,962:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=3.0 },
       { crafter="character", timeMs=20000.0, rate=3.0 },
       { crafter="Assembler I", rate=1.0 },
       { crafter="Assembler I", timeMs=60000.0, rate=1.0 },
       { crafter="Assembler II", rate=1.5 },
       { crafter="Assembler II", timeMs=40000.0, rate=1.5 },
       { crafter="Assembler III", rate=2.0 },
       { crafter="Assembler III", timeMs=30000.0, rate=2.0 },
     }
     }
   },
   },
Line 3,986: Line 3,986:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=1.5 },
       { crafter="character", timeMs=40000.0, rate=1.5 },
       { crafter="Assembler I", rate=0.5 },
       { crafter="Assembler I", timeMs=120000.0, rate=0.5 },
       { crafter="Assembler II", rate=0.75 },
       { crafter="Assembler II", timeMs=80000.0, rate=0.75 },
       { crafter="Assembler III", rate=1.0 },
       { crafter="Assembler III", timeMs=60000.0, rate=1.0 },
     }
     }
   },
   },
Line 4,008: Line 4,008:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=120.0 },
       { crafter="character", timeMs=500.0, rate=120.0 },
       { crafter="Assembler I", rate=40.0 },
       { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
       { crafter="Assembler II", rate=60.0 },
       { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler III", rate=80.0 },
       { crafter="Assembler III", timeMs=750.0, rate=80.0 },
     }
     }
   },
   },
Line 4,032: Line 4,032:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler I", rate=6.0 },
       { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler II", rate=9.0 },
       { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler III", rate=12.0 },
       { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 4,056: Line 4,056:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler I", rate=6.0 },
       { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler II", rate=9.0 },
       { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler III", rate=12.0 },
       { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 4,081: Line 4,081:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 4,107: Line 4,107:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler I", rate=6.0 },
       { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler II", rate=9.0 },
       { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler III", rate=12.0 },
       { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 4,129: Line 4,129:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=120.0 },
       { crafter="character", timeMs=500.0, rate=120.0 },
       { crafter="Assembler I", rate=40.0 },
       { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
       { crafter="Assembler II", rate=60.0 },
       { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler III", rate=80.0 },
       { crafter="Assembler III", timeMs=750.0, rate=80.0 },
     }
     }
   },
   },
Line 4,152: Line 4,152:
     tags={ "crusher" },
     tags={ "crusher" },
     rates={
     rates={
       { crafter="Crusher I", rate=20.0 },
       { crafter="Crusher I", timeMs=3000.0, rate=20.0 },
       { crafter="Crusher II", rate=40.0 },
       { crafter="Crusher II", timeMs=1500.0, rate=40.0 },
     }
     }
   },
   },
Line 4,172: Line 4,172:
     tags={ "smelter", "advanced_smelter" },
     tags={ "smelter", "advanced_smelter" },
     rates={
     rates={
       { crafter="Advanced Smelter", rate=15.0 },
       { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
       { crafter="Smelter (Small)", rate=10.0 },
       { crafter="Smelter (Small)", timeMs=6000.0, rate=10.0 },
     }
     }
   },
   },
Line 4,192: Line 4,192:
     tags={ "advanced_smelter" },
     tags={ "advanced_smelter" },
     rates={
     rates={
       { crafter="Advanced Smelter", rate=15.0 },
       { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 4,213: Line 4,213:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 4,235: Line 4,235:
     tags={ "smelter", "advanced_smelter" },
     tags={ "smelter", "advanced_smelter" },
     rates={
     rates={
       { crafter="Advanced Smelter", rate=30.0 },
       { crafter="Advanced Smelter", timeMs=2000.0, rate=30.0 },
       { crafter="Smelter (Small)", rate=20.0 },
       { crafter="Smelter (Small)", timeMs=3000.0, rate=20.0 },
     }
     }
   },
   },
Line 4,273: Line 4,273:
     tags={ "smelter", "advanced_smelter" },
     tags={ "smelter", "advanced_smelter" },
     rates={
     rates={
       { crafter="Advanced Smelter", rate=15.0 },
       { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
       { crafter="Smelter (Small)", rate=10.0 },
       { crafter="Smelter (Small)", timeMs=6000.0, rate=10.0 },
     }
     }
   },
   },
Line 4,293: Line 4,293:
     tags={ "casting_machine" },
     tags={ "casting_machine" },
     rates={
     rates={
       { crafter="Casting Machine", rate=8.0 },
       { crafter="Casting Machine", timeMs=7500.0, rate=8.0 },
     }
     }
   },
   },
Line 4,312: Line 4,312:
     tags={ "advanced_smelter" },
     tags={ "advanced_smelter" },
     rates={
     rates={
       { crafter="Advanced Smelter", rate=15.0 },
       { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 4,331: Line 4,331:
     tags={ "casting_machine" },
     tags={ "casting_machine" },
     rates={
     rates={
       { crafter="Casting Machine", rate=2.5 },
       { crafter="Casting Machine", timeMs=24000.0, rate=2.5 },
     }
     }
   },
   },
Line 4,352: Line 4,352:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=36.0 },
       { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
       { crafter="Assembler I", rate=12.0 },
       { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
       { crafter="Assembler II", rate=18.0 },
       { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler III", rate=24.0 },
       { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
     }
     }
   },
   },
Line 4,376: Line 4,376:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=18.0 },
       { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
       { crafter="Assembler I", rate=6.0 },
       { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
       { crafter="Assembler II", rate=9.0 },
       { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
       { crafter="Assembler III", rate=12.0 },
       { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
     }
     }
   },
   },
Line 4,402: Line 4,402:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=15.0 },
       { crafter="character", timeMs=4000.0, rate=15.0 },
       { crafter="Assembler I", rate=5.0 },
       { crafter="Assembler I", timeMs=12000.0, rate=5.0 },
       { crafter="Assembler II", rate=7.5 },
       { crafter="Assembler II", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler III", rate=10.0 },
       { crafter="Assembler III", timeMs=6000.0, rate=10.0 },
     }
     }
   },
   },
Line 4,426: Line 4,426:
     tags={ "greenhouse" },
     tags={ "greenhouse" },
     rates={
     rates={
       { crafter="Greenhouse", rate=0.2 },
       { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
     }
     }
   },
   },
Line 4,447: Line 4,447:
     tags={ "greenhouse" },
     tags={ "greenhouse" },
     rates={
     rates={
       { crafter="Greenhouse", rate=0.2 },
       { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
     }
     }
   },
   },
Line 4,469: Line 4,469:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=22.5 },
       { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
       { crafter="Assembler I", rate=7.5 },
       { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
       { crafter="Assembler II", rate=11.25 },
       { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
       { crafter="Assembler III", rate=15.0 },
       { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
     }
     }
   },
   },
Line 4,491: Line 4,491:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=120.0 },
       { crafter="character", timeMs=500.0, rate=120.0 },
       { crafter="Assembler I", rate=40.0 },
       { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
       { crafter="Assembler II", rate=60.0 },
       { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler III", rate=80.0 },
       { crafter="Assembler III", timeMs=750.0, rate=80.0 },
     }
     }
   },
   },
Line 4,513: Line 4,513:
     tags={ "character", "assembler" },
     tags={ "character", "assembler" },
     rates={
     rates={
       { crafter="character", rate=120.0 },
       { crafter="character", timeMs=500.0, rate=120.0 },
       { crafter="Assembler I", rate=40.0 },
       { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
       { crafter="Assembler II", rate=60.0 },
       { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
       { crafter="Assembler III", rate=80.0 },
       { crafter="Assembler III", timeMs=750.0, rate=80.0 },
     }
     }
   },
   },
Line 4,535: Line 4,535:
     tags={ "smelter", "advanced_smelter" },
     tags={ "smelter", "advanced_smelter" },
     rates={
     rates={
       { crafter="Advanced Smelter", rate=30.0 },
       { crafter="Advanced Smelter", timeMs=2000.0, rate=30.0 },
       { crafter="Smelter (Small)", rate=20.0 },
       { crafter="Smelter (Small)", timeMs=3000.0, rate=20.0 },
     }
     }
   },
   },
Line 4,573: Line 4,573:
     tags={ "smelter", "advanced_smelter" },
     tags={ "smelter", "advanced_smelter" },
     rates={
     rates={
       { crafter="Advanced Smelter", rate=15.0 },
       { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
       { crafter="Smelter (Small)", rate=10.0 },
       { crafter="Smelter (Small)", timeMs=6000.0, rate=10.0 },
     }
     }
   },
   },
Line 4,593: Line 4,593:
     tags={ "casting_machine" },
     tags={ "casting_machine" },
     rates={
     rates={
       { crafter="Casting Machine", rate=8.0 },
       { crafter="Casting Machine", timeMs=7500.0, rate=8.0 },
     }
     }
   },
   },
Line 4,615: Line 4,615:
     tags={ "blast_furnace" },
     tags={ "blast_furnace" },
     rates={
     rates={
       { crafter="Blast Furnace Base", rate=2.0 },
       { crafter="Blast Furnace Base", timeMs=30000, rate=2.0 },
     }
     }
   },
   },
Line 4,637: Line 4,637:
     tags={ "blast_furnace" },
     tags={ "blast_furnace" },
     rates={
     rates={
       { crafter="Blast Furnace Base", rate=2.0 },
       { crafter="Blast Furnace Base", timeMs=30000, rate=2.0 },
     }
     }
   },
   },
Line 4,667: Line 4,667:
! style="text-align:left" scope=row| Time per craft
! style="text-align:left" scope=row| Time per craft
]]
]]
  for i,rate in ipairs(recipe.rates) do
    result = result..string.format('| style="text-align:center"| %0.2f s\n', rate.timeMs/1000)
  end
   result = result..'|}'
   result = result..'|}'
   return result
   return result

Revision as of 23:39, 10 May 2024

Documentation for this module may be created at Module:GenerateTables/doc

-- Automatically generated code

local recipes = {
  ["Advanced Xenoferrite-Ignium Ore Blend"] = {
    name="Advanced Xenoferrite-Ignium Ore Blend",
    sanitizedName="Advanced Xenoferrite-Ignium Ore Blend",
    iconItem="Advanced Xenoferrite-Ignium Ore Blend",
    category="Metallurgy",
    rowGroup="Steel",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Ore", amount=4 },
      { item="Ignium Ore", amount=2 },
    },
    outputs={
      { item="Ignium Ore", amount=2, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=3000.0, rate=20.0 },
      { crafter="Crusher II", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Air Intake Base"] = {
    name="Air Intake Base",
    sanitizedName="Air Intake Base",
    iconItem="Air Intake Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Air Intake Base",
    inputs={
      { item="Xenoferrite Plates", amount=200 },
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=100 },
      { item="Circuit Board", amount=25 },
    },
    outputs={
      { item="Circuit Board", amount=25, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Sales Warehouse (Assembly Line)"] = {
    name="Sales Warehouse (Assembly Line)",
    sanitizedName="Sales Warehouse (Assembly Line)",
    iconItem="Sales Warehouse",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=8000.0,
    relatedItemTemplate="Sales Warehouse (Assembly Line)",
    inputs={
      { item="Steel Beams", amount=200 },
      { item="Advanced Machinery Parts", amount=50 },
      { item="Circuit Board", amount=50 },
      { item="Polymer Board", amount=100 },
      { item="Hydraulic Piston", amount=20 },
    },
    outputs={
      { item="Hydraulic Piston", amount=20, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Assembly Line Merger"] = {
    name="Assembly Line Merger",
    sanitizedName="Assembly Line Merger",
    iconItem="Assembly Line Merger",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=5000.0,
    relatedItemTemplate="Assembly Line Merger",
    inputs={
      { item="Xenoferrite Plates", amount=25 },
      { item="Advanced Machinery Parts", amount=6 },
      { item="Circuit Board", amount=2 },
    },
    outputs={
      { item="Circuit Board", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Assembly Line Painter"] = {
    name="Assembly Line Painter",
    sanitizedName="Assembly Line Painter",
    iconItem="Assembly Line Painter",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=8000.0,
    relatedItemTemplate="Assembly Line Painter",
    inputs={
      { item="Xenoferrite Plates", amount=40 },
      { item="Advanced Machinery Parts", amount=10 },
      { item="Circuit Board", amount=10 },
      { item="Hydraulic Piston", amount=10 },
    },
    outputs={
      { item="Hydraulic Piston", amount=10, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Assembly Line Producer"] = {
    name="Assembly Line Producer",
    sanitizedName="Assembly Line Producer",
    iconItem="Assembly Line Producer",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=8000.0,
    relatedItemTemplate="Assembly Line Producer",
    inputs={
      { item="Xenoferrite Plates", amount=40 },
      { item="Advanced Machinery Parts", amount=10 },
      { item="Circuit Board", amount=10 },
      { item="Hydraulic Piston", amount=10 },
    },
    outputs={
      { item="Hydraulic Piston", amount=10, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Assembly Line Rail"] = {
    name="Assembly Line Rail",
    sanitizedName="Assembly Line Rail",
    iconItem="Assembly Line Rail",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=3000.0,
    relatedItemTemplate="Assembly Line Rail",
    inputs={
      { item="Xenoferrite Plates", amount=6 },
      { item="Advanced Machinery Parts", amount=1 },
    },
    outputs={
      { item="Advanced Machinery Parts", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Assembly Line Splitter"] = {
    name="Assembly Line Splitter",
    sanitizedName="Assembly Line Splitter",
    iconItem="Assembly Line Splitter",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=5000.0,
    relatedItemTemplate="Assembly Line Splitter",
    inputs={
      { item="Xenoferrite Plates", amount=25 },
      { item="Advanced Machinery Parts", amount=6 },
      { item="Circuit Board", amount=2 },
    },
    outputs={
      { item="Circuit Board", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Assembly Line Start"] = {
    name="Assembly Line Start",
    sanitizedName="Assembly Line Start",
    iconItem="Assembly Line Start",
    category="Structures",
    rowGroup="Assembly Lines",
    timeMs=8000.0,
    relatedItemTemplate="Assembly Line Start",
    inputs={
      { item="Xenoferrite Plates", amount=30 },
      { item="Advanced Machinery Parts", amount=8 },
      { item="Circuit Board", amount=4 },
      { item="Hydraulic Piston", amount=8 },
    },
    outputs={
      { item="Hydraulic Piston", amount=8, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Fluid-Assembler I"] = {
    name="Fluid-Assembler I",
    sanitizedName="Fluid-Assembler I",
    iconItem="Fluid Assembler I",
    category="Structures",
    rowGroup="Processing",
    timeMs=10000.0,
    relatedItemTemplate="Fluid Assembler I",
    inputs={
      { item="Xenoferrite Plates", amount=15 },
      { item="Advanced Machinery Parts", amount=10 },
      { item="Circuit Board", amount=5 },
      { item="Polymer Board", amount=10 },
    },
    outputs={
      { item="Polymer Board", amount=10, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Assembler I"] = {
    name="Assembler I",
    sanitizedName="Assembler I",
    iconItem="Assembler I",
    category="Structures",
    rowGroup="Processing",
    timeMs=8000.0,
    relatedItemTemplate="Assembler I",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Machinery Parts", amount=10 },
      { item="Electronic Components", amount=5 },
    },
    outputs={
      { item="Electronic Components", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Assembler II"] = {
    name="Assembler II",
    sanitizedName="Assembler II",
    iconItem="Assembler II",
    category="Structures",
    rowGroup="Processing",
    timeMs=6000.0,
    relatedItemTemplate="Assembler II",
    inputs={
      { item="Assembler I", amount=1 },
      { item="Advanced Machinery Parts", amount=6 },
    },
    outputs={
      { item="Advanced Machinery Parts", amount=6, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler I", timeMs=6000.0, rate=10.0 },
      { crafter="Assembler II", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler III", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Assembler III"] = {
    name="Assembler III",
    sanitizedName="Assembler III",
    iconItem="Assembler III",
    category="Structures",
    rowGroup="Processing",
    timeMs=6000.0,
    relatedItemTemplate="Assembler III",
    inputs={
      { item="Assembler II", amount=1 },
      { item="Firmarlite Sheet", amount=20 },
      { item="Circuit Board", amount=10 },
    },
    outputs={
      { item="Circuit Board", amount=10, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler I", timeMs=6000.0, rate=10.0 },
      { crafter="Assembler II", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler III", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Olumite Refining Olumite Gas"] = {
    name="Olumite Refining: Olumite Gas",
    sanitizedName="Olumite Refining Olumite Gas",
    iconItem="Olumite Gas",
    category="Components",
    rowGroup="Liquids",
    timeMs=4000.0,
    relatedItemTemplate="",
    inputs={
      { item="Crude Olumite", amount=100.0 },
    },
    outputs={
      { item="Crude Olumite", amount=100.0, percentage=1.0 },
      { item="Crude Olumite", amount=100.0, percentage=1.0 },
    },
    tags={ "distillation_column" },
    rates={
      { crafter="Distillation Column", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Olumite Refining Low Density Olumite"] = {
    name="Olumite Refining: Low Density Olumite",
    sanitizedName="Olumite Refining Low Density Olumite",
    iconItem="Low Density Olumite",
    category="Components",
    rowGroup="Liquids",
    timeMs=4000.0,
    relatedItemTemplate="",
    inputs={
      { item="Crude Olumite", amount=100.0 },
    },
    outputs={
      { item="Crude Olumite", amount=100.0, percentage=1.0 },
      { item="Crude Olumite", amount=100.0, percentage=1.0 },
    },
    tags={ "distillation_column" },
    rates={
      { crafter="Distillation Column", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Olumite Refining Liquid Polymer"] = {
    name="Olumite Refining: Liquid Polymer",
    sanitizedName="Olumite Refining Liquid Polymer",
    iconItem="Liquid Polymer",
    category="Components",
    rowGroup="Liquids",
    timeMs=4000.0,
    relatedItemTemplate="",
    inputs={
      { item="Crude Olumite", amount=100.0 },
    },
    outputs={
      { item="Crude Olumite", amount=100.0, percentage=1.0 },
      { item="Crude Olumite", amount=100.0, percentage=1.0 },
    },
    tags={ "distillation_column" },
    rates={
      { crafter="Distillation Column", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Battery (Small)"] = {
    name="Battery (Small)",
    sanitizedName="Battery (Small)",
    iconItem="Battery (Small)",
    category="Structures",
    rowGroup="Energy",
    timeMs=5000.0,
    relatedItemTemplate="Battery (Small)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Electronic Components", amount=4 },
      { item="Technum Rods", amount=20 },
      { item="Energy Cell", amount=10 },
    },
    outputs={
      { item="Energy Cell", amount=10, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Battery (Large)"] = {
    name="Battery (Large)",
    sanitizedName="Battery (Large)",
    iconItem="Battery (Large)",
    category="Structures",
    rowGroup="Energy",
    timeMs=7500.0,
    relatedItemTemplate="Battery (Large)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Circuit Board", amount=10 },
      { item="Energy Cell", amount=20 },
    },
    outputs={
      { item="Energy Cell", amount=20, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
      { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
    }
  },
  ["Biomass"] = {
    name="Biomass",
    sanitizedName="Biomass",
    iconItem="Biomass",
    category="Components",
    rowGroup="General",
    timeMs=60000.0,
    relatedItemTemplate="Biomass",
    inputs={
      { item="Biomass", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Water", amount=250.0, percentage=1.0 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=60000.0, rate=1.0 },
    }
  },
  ["Biomass Burner"] = {
    name="Biomass Burner",
    sanitizedName="Biomass Burner",
    iconItem="Biomass Burner",
    category="Structures",
    rowGroup="Energy",
    timeMs=4000.0,
    relatedItemTemplate="Biomass Burner",
    inputs={
      { item="Xenoferrite Plates", amount=5 },
      { item="Electronic Components", amount=5 },
      { item="Technum Rods", amount=5 },
    },
    outputs={
      { item="Technum Rods", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Blast Furnace Base"] = {
    name="Blast Furnace Base",
    sanitizedName="Blast Furnace Base",
    iconItem="Blast Furnace Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="_base_blast_furnance_base",
    inputs={
      { item="Concrete", amount=600 },
      { item="Steel Beams", amount=600 },
      { item="Advanced Machinery Parts", amount=300 },
      { item="Circuit Board", amount=200 },
    },
    outputs={
      { item="Circuit Board", amount=200, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Boiler"] = {
    name="Boiler",
    sanitizedName="Boiler",
    iconItem="Boiler",
    category="Structures",
    rowGroup="Energy",
    timeMs=5000.0,
    relatedItemTemplate="Boiler",
    inputs={
      { item="Pipe", amount=5 },
      { item="Machinery Parts", amount=10 },
      { item="Steel Beams", amount=10 },
    },
    outputs={
      { item="Steel Beams", amount=10, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Forest Seed (Plants)"] = {
    name="Forest Seed (Plants)",
    sanitizedName="Forest Seed (Plants)",
    iconItem="Forest Seed (Plants)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Forest Seed (Plants)",
    inputs={
      { item="Forest Seed (Plants)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Water", amount=250.0, percentage=1.0 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Forest Seed (Trees)"] = {
    name="Forest Seed (Trees)",
    sanitizedName="Forest Seed (Trees)",
    iconItem="Forest Seed (Trees)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Forest Seed (Trees)",
    inputs={
      { item="Forest Seed (Trees)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Water", amount=250.0, percentage=1.0 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Building Block"] = {
    name="Building Block",
    sanitizedName="Building Block",
    iconItem="Building Block",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=5000.0,
    relatedItemTemplate="Building Block",
    inputs={
      { item="Xenoferrite Plates", amount=6 },
      { item="Technum Rods", amount=4 },
    },
    outputs={
      { item="Technum Rods", amount=4, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Burner Generator"] = {
    name="Burner Generator",
    sanitizedName="Burner Generator",
    iconItem="Burner Generator",
    category="Structures",
    rowGroup="Energy",
    timeMs=4000.0,
    relatedItemTemplate="Burner Generator",
    inputs={
      { item="Xenoferrite Plates", amount=25 },
      { item="Electronic Components", amount=10 },
      { item="Technum Rods", amount=5 },
    },
    outputs={
      { item="Technum Rods", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Casting Machine"] = {
    name="Casting Machine",
    sanitizedName="Casting Machine",
    iconItem="Casting Machine",
    category="Structures",
    rowGroup="Processing",
    timeMs=8000.0,
    relatedItemTemplate="Casting Machine",
    inputs={
      { item="Steel Beams", amount=15 },
      { item="Advanced Machinery Parts", amount=20 },
      { item="Electronic Components", amount=5 },
    },
    outputs={
      { item="Electronic Components", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Cement"] = {
    name="Cement",
    sanitizedName="Cement",
    iconItem="Cement",
    category="Components",
    rowGroup="Concrete",
    timeMs=12000.0,
    relatedItemTemplate="",
    inputs={
      { item="Mineral Rocks", amount=2 },
      { item="Xenoferrite Ore Rubble", amount=1 },
    },
    outputs={
      { item="Xenoferrite Ore Rubble", amount=1, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=12000.0, rate=5.0 },
      { crafter="Crusher II", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Cement (Slag Reprocessing)"] = {
    name="Cement (Slag Reprocessing)",
    sanitizedName="Cement (Slag Reprocessing)",
    iconItem="Cement",
    category="Components",
    rowGroup="Concrete",
    timeMs=12000.0,
    relatedItemTemplate="",
    inputs={
      { item="Blast Furnace Slag", amount=36.0 },
    },
    outputs={
      { item="Blast Furnace Slag", amount=36.0, percentage=1.0 },
    },
    tags={ "chemical_processor" },
    rates={
      { crafter="Chemical Processor", timeMs=12000.0, rate=5.0 },
    }
  },
  ["Chemical Processor"] = {
    name="Chemical Processor",
    sanitizedName="Chemical Processor",
    iconItem="Chemical Processor",
    category="Structures",
    rowGroup="Processing",
    timeMs=8000.0,
    relatedItemTemplate="Chemical Processor",
    inputs={
      { item="Steel Beams", amount=20 },
      { item="Polymer Board", amount=10 },
      { item="Advanced Machinery Parts", amount=5 },
      { item="Circuit Board", amount=5 },
    },
    outputs={
      { item="Circuit Board", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Coked Ignium"] = {
    name="Coked Ignium",
    sanitizedName="Coked Ignium",
    iconItem="Coked Ignium",
    category="Components",
    rowGroup="General",
    timeMs=11250.0,
    relatedItemTemplate="Coked Ignium",
    inputs={
      { item="Ignium Ore", amount=2 },
    },
    outputs={
      { item="Ignium Ore", amount=2, percentage=1.0 },
    },
    tags={ "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Concrete"] = {
    name="Concrete",
    sanitizedName="Concrete",
    iconItem="Concrete",
    category="Components",
    rowGroup="Concrete",
    timeMs=15000.0,
    relatedItemTemplate="Concrete",
    inputs={
      { item="Cement", amount=2 },
      { item="Gravel", amount=4 },
      { item="Water", amount=20.0 },
    },
    outputs={
      { item="Water", amount=20.0, percentage=1.0 },
    },
    tags={ "casting_machine" },
    rates={
      { crafter="Casting Machine", timeMs=15000.0, rate=4.0 },
    }
  },
  ["Construction Ship Port"] = {
    name="Construction Ship Port",
    sanitizedName="Construction Ship Port",
    iconItem="Construction Ship Port",
    category="Structures",
    rowGroup="Construction and Warehouses",
    timeMs=10000.0,
    relatedItemTemplate="Construction Ship Port",
    inputs={
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=100 },
      { item="Circuit Board", amount=25 },
      { item="Energy Cell", amount=10 },
      { item="Polymer Board", amount=50 },
      { item="Maintenance Drone", amount=20 },
    },
    outputs={
      { item="Maintenance Drone", amount=20, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Construction Material"] = {
    name="Construction Material",
    sanitizedName="Construction Material",
    iconItem="Construction Material",
    category="Components",
    rowGroup="General",
    timeMs=90000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Plates", amount=100 },
      { item="Steel Beams", amount=25 },
      { item="Advanced Machinery Parts", amount=25 },
      { item="Concrete", amount=60 },
      { item="Polymer Board", amount=60 },
      { item="Electronic Components", amount=50 },
    },
    outputs={
      { item="Electronic Components", amount=50, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=90000.0, rate=0.6666666666666666 },
      { crafter="Assembler II", timeMs=60000.0, rate=1.0 },
      { crafter="Assembler III", timeMs=45000.0, rate=1.3333333333333333 },
    }
  },
  ["Construction Warehouse"] = {
    name="Construction Warehouse",
    sanitizedName="Construction Warehouse",
    iconItem="Construction Warehouse",
    category="Structures",
    rowGroup="Construction and Warehouses",
    timeMs=10000.0,
    relatedItemTemplate="Construction Warehouse",
    inputs={
      { item="Steel Beams", amount=200 },
      { item="Advanced Machinery Parts", amount=50 },
      { item="Circuit Board", amount=50 },
      { item="Polymer Board", amount=100 },
    },
    outputs={
      { item="Polymer Board", amount=100, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Container"] = {
    name="Container",
    sanitizedName="Container",
    iconItem="Container",
    category="Structures",
    rowGroup="Storage",
    timeMs=5000.0,
    relatedItemTemplate="Container",
    inputs={
      { item="Xenoferrite Plates", amount=30 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=30, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Conveyor Balancer I"] = {
    name="Conveyor Balancer I",
    sanitizedName="Conveyor Balancer I",
    iconItem="Conveyor Balancer I",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Conveyor Balancer I",
    inputs={
      { item="Conveyor I", amount=4 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Conveyor Balancer II"] = {
    name="Conveyor Balancer II",
    sanitizedName="Conveyor Balancer II",
    iconItem="Conveyor Balancer II",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Conveyor Balancer II",
    inputs={
      { item="Conveyor Balancer I", amount=1 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Conveyor Balancer III"] = {
    name="Conveyor Balancer III",
    sanitizedName="Conveyor Balancer III",
    iconItem="Conveyor Balancer III",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Conveyor Balancer III",
    inputs={
      { item="Conveyor Balancer II", amount=1 },
      { item="Advanced Machinery Parts", amount=2 },
      { item="Circuit Board", amount=1 },
    },
    outputs={
      { item="Circuit Board", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Conveyor I"] = {
    name="Conveyor I",
    sanitizedName="Conveyor I",
    iconItem="Conveyor I",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Conveyor I",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Machinery Parts", amount=1 },
    },
    outputs={
      { item="Machinery Parts", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Conveyor II"] = {
    name="Conveyor II",
    sanitizedName="Conveyor II",
    iconItem="Conveyor II",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=5000.0,
    relatedItemTemplate="Conveyor II",
    inputs={
      { item="Conveyor I", amount=2 },
      { item="Machinery Parts", amount=2 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Conveyor III"] = {
    name="Conveyor III",
    sanitizedName="Conveyor III",
    iconItem="Conveyor III",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=7500.0,
    relatedItemTemplate="Conveyor III",
    inputs={
      { item="Conveyor II", amount=2 },
      { item="Advanced Machinery Parts", amount=1 },
      { item="Circuit Board", amount=1 },
    },
    outputs={
      { item="Circuit Board", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
      { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
    }
  },
  ["Conveyor Slope I"] = {
    name="Conveyor Slope I",
    sanitizedName="Conveyor Slope I",
    iconItem="Conveyor Slope I",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=1500.0,
    relatedItemTemplate="Conveyor Slope I",
    inputs={
      { item="Conveyor I", amount=2 },
      { item="Machinery Parts", amount=1 },
    },
    outputs={
      { item="Machinery Parts", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Conveyor Slope II"] = {
    name="Conveyor Slope II",
    sanitizedName="Conveyor Slope II",
    iconItem="Conveyor Slope II",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=2500.0,
    relatedItemTemplate="Conveyor Slope II",
    inputs={
      { item="Conveyor Slope I", amount=1 },
      { item="Machinery Parts", amount=2 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=833.3333333333334, rate=72.0 },
      { crafter="Assembler I", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler II", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler III", timeMs=1250.0, rate=48.0 },
    }
  },
  ["Conveyor Slope III"] = {
    name="Conveyor Slope III",
    sanitizedName="Conveyor Slope III",
    iconItem="Conveyor Slope III",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3750.0,
    relatedItemTemplate="Conveyor Slope III",
    inputs={
      { item="Conveyor Slope II", amount=1 },
      { item="Advanced Machinery Parts", amount=1 },
      { item="Circuit Board", amount=1 },
    },
    outputs={
      { item="Circuit Board", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1250.0, rate=48.0 },
      { crafter="Assembler I", timeMs=3750.0, rate=16.0 },
      { crafter="Assembler II", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler III", timeMs=1875.0, rate=32.0 },
    }
  },
  ["CPU"] = {
    name="CPU",
    sanitizedName="CPU",
    iconItem="CPU",
    category="Components",
    rowGroup="Electrical Intermediates",
    timeMs=120000.0,
    relatedItemTemplate="",
    inputs={
      { item="Telluxite Wafer", amount=1 },
      { item="Polymer Board", amount=2 },
      { item="Olumic Acid", amount=80.0 },
    },
    outputs={
      { item="Olumic Acid", amount=80.0, percentage=1.0 },
    },
    tags={ "chemical_processor" },
    rates={
      { crafter="Chemical Processor", timeMs=120000.0, rate=0.5 },
    }
  },
  ["Crate"] = {
    name="Crate",
    sanitizedName="Crate",
    iconItem="Crate",
    category="Structures",
    rowGroup="Storage",
    timeMs=2000.0,
    relatedItemTemplate="Crate",
    inputs={
      { item="Xenoferrite Plates", amount=6 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=6, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler I", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler II", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler III", timeMs=1000.0, rate=60.0 },
    }
  },
  ["Crusher I"] = {
    name="Crusher I",
    sanitizedName="Crusher I",
    iconItem="Crusher I",
    category="Structures",
    rowGroup="Processing",
    timeMs=8000.0,
    relatedItemTemplate="Crusher I",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Machinery Parts", amount=10 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Crusher II"] = {
    name="Crusher II",
    sanitizedName="Crusher II",
    iconItem="Crusher II",
    category="Structures",
    rowGroup="Processing",
    timeMs=6000.0,
    relatedItemTemplate="Crusher II",
    inputs={
      { item="Crusher I", amount=1 },
      { item="Advanced Machinery Parts", amount=5 },
      { item="Circuit Board", amount=5 },
    },
    outputs={
      { item="Circuit Board", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler I", timeMs=6000.0, rate=10.0 },
      { crafter="Assembler II", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler III", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Decor (Basic Shapes)"] = {
    name="Decor (Basic Shapes)",
    sanitizedName="Decor (Basic Shapes)",
    iconItem="Decor (Basic Shapes)",
    category="Decor",
    rowGroup="Blocks",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Basic Shapes)",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Decor (Misc)"] = {
    name="Decor (Misc)",
    sanitizedName="Decor (Misc)",
    iconItem="Decor (Misc)",
    category="Decor",
    rowGroup="Structures",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Misc)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=10, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Decor (Struts)"] = {
    name="Decor (Struts)",
    sanitizedName="Decor (Struts)",
    iconItem="Decor (Struts)",
    category="Decor",
    rowGroup="Structures",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Struts)",
    inputs={
      { item="Steel Beams", amount=1 },
    },
    outputs={
      { item="Steel Beams", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Decor (Support)"] = {
    name="Decor (Support)",
    sanitizedName="Decor (Support)",
    iconItem="Decor (Support)",
    category="Decor",
    rowGroup="Structures",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Support)",
    inputs={
      { item="Steel Beams", amount=1 },
    },
    outputs={
      { item="Steel Beams", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Decor (Walls)"] = {
    name="Decor (Walls)",
    sanitizedName="Decor (Walls)",
    iconItem="Decor (Walls)",
    category="Decor",
    rowGroup="Structures",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Walls)",
    inputs={
      { item="Xenoferrite Plates", amount=5 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Decor (Windows)"] = {
    name="Decor (Windows)",
    sanitizedName="Decor (Windows)",
    iconItem="Decor (Windows)",
    category="Decor",
    rowGroup="Structures",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Windows)",
    inputs={
      { item="Steel Beams", amount=1 },
      { item="Glass", amount=1 },
    },
    outputs={
      { item="Glass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Decor (Modular Windows)"] = {
    name="Decor (Modular Windows)",
    sanitizedName="Decor (Modular Windows)",
    iconItem="Decor (Modular Windows)",
    category="Decor",
    rowGroup="Structures",
    timeMs=1000.0,
    relatedItemTemplate="Decor (Modular Windows)",
    inputs={
      { item="Glass", amount=1 },
    },
    outputs={
      { item="Glass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=333.3333333333333, rate=180.0 },
      { crafter="Assembler I", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler II", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler III", timeMs=500.0, rate=120.0 },
    }
  },
  ["Distillation Column"] = {
    name="Distillation Column",
    sanitizedName="Distillation Column",
    iconItem="Distillation Column",
    category="Structures",
    rowGroup="Processing",
    timeMs=10000.0,
    relatedItemTemplate="Distillation Column",
    inputs={
      { item="Steel Beams", amount=30 },
      { item="Pipe", amount=30 },
      { item="Advanced Machinery Parts", amount=15 },
      { item="Electronic Components", amount=15 },
    },
    outputs={
      { item="Electronic Components", amount=15, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Door (Single)"] = {
    name="Door (Single)",
    sanitizedName="Door (Single)",
    iconItem="Door (Single)",
    category="Decor",
    rowGroup="Doors",
    timeMs=5000.0,
    relatedItemTemplate="Door (Single)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Machinery Parts", amount=2 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Electronic Components", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Door (Double)"] = {
    name="Door (Double)",
    sanitizedName="Door (Double)",
    iconItem="Door (Double)",
    category="Decor",
    rowGroup="Doors",
    timeMs=5000.0,
    relatedItemTemplate="Door (Double)",
    inputs={
      { item="Xenoferrite Plates", amount=20 },
      { item="Machinery Parts", amount=5 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Electronic Components", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Hangar Gate"] = {
    name="Hangar Gate",
    sanitizedName="Hangar Gate",
    iconItem="Hangar Gate",
    category="Decor",
    rowGroup="Doors",
    timeMs=5000.0,
    relatedItemTemplate="Hangar Gate",
    inputs={
      { item="Steel Beams", amount=25 },
      { item="Advanced Machinery Parts", amount=10 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Electronic Components", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Drone Miner I"] = {
    name="Drone Miner I",
    sanitizedName="Drone Miner I",
    iconItem="Drone Miner I",
    category="Structures",
    rowGroup="Resource Gathering",
    timeMs=5000.0,
    relatedItemTemplate="Drone Miner I",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Machinery Parts", amount=8 },
      { item="Electronic Components", amount=6 },
    },
    outputs={
      { item="Electronic Components", amount=6, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Drone Miner II"] = {
    name="Drone Miner II",
    sanitizedName="Drone Miner II",
    iconItem="Drone Miner II",
    category="Structures",
    rowGroup="Resource Gathering",
    timeMs=7500.0,
    relatedItemTemplate="Drone Miner II",
    inputs={
      { item="Drone Miner I", amount=1 },
      { item="Advanced Machinery Parts", amount=10 },
      { item="Circuit Board", amount=4 },
    },
    outputs={
      { item="Circuit Board", amount=4, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
      { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
    }
  },
  ["Cargo Ship Start Pad"] = {
    name="Cargo Ship Start Pad",
    sanitizedName="Cargo Ship Start Pad",
    iconItem="Cargo Ship Start Pad",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=30000.0,
    relatedItemTemplate="Cargo Ship Start Pad",
    inputs={
      { item="Steel Beams", amount=200 },
      { item="Advanced Machinery Parts", amount=100 },
      { item="Circuit Board", amount=50 },
      { item="Glass", amount=20 },
    },
    outputs={
      { item="Glass", amount=20, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler I", timeMs=30000.0, rate=2.0 },
      { crafter="Assembler II", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler III", timeMs=15000.0, rate=4.0 },
    }
  },
  ["Cargo Ship Target Pad"] = {
    name="Cargo Ship Target Pad",
    sanitizedName="Cargo Ship Target Pad",
    iconItem="Cargo Ship Target Pad",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=12000.0,
    relatedItemTemplate="Cargo Ship Target Pad",
    inputs={
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=10 },
      { item="Circuit Board", amount=10 },
    },
    outputs={
      { item="Circuit Board", amount=10, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler I", timeMs=12000.0, rate=5.0 },
      { crafter="Assembler II", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler III", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Explosive Charge"] = {
    name="Explosive Charge",
    sanitizedName="Explosive Charge",
    iconItem="Explosive Charge",
    category="Handhelds",
    rowGroup="General",
    timeMs=5000.0,
    relatedItemTemplate="Explosive Charge",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Explosives", amount=1 },
      { item="Wire Coil", amount=3 },
      { item="Electronic Components", amount=3 },
    },
    outputs={
      { item="Electronic Components", amount=3, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Explosives Detonator"] = {
    name="Explosives Detonator",
    sanitizedName="Explosives Detonator",
    iconItem="Explosives Detonator",
    category="Handhelds",
    rowGroup="General",
    timeMs=8000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=40 },
    },
    outputs={
      { item="Electronic Components", amount=40, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Electronic Components"] = {
    name="Electronic Components",
    sanitizedName="Electronic Components",
    iconItem="Electronic Components",
    category="Components",
    rowGroup="Electrical Intermediates",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Technum Rods", amount=1 },
      { item="Wire Coil", amount=2 },
    },
    outputs={
      { item="Wire Coil", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Circuit Board"] = {
    name="Circuit Board",
    sanitizedName="Circuit Board",
    iconItem="Circuit Board",
    category="Components",
    rowGroup="Electrical Intermediates",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Polymer Board", amount=1 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Electric Arc Furnace"] = {
    name="Electric Arc Furnace",
    sanitizedName="Electric Arc Furnace",
    iconItem="Electric Arc Furnace",
    category="Structures",
    rowGroup="Processing",
    timeMs=15000.0,
    relatedItemTemplate="Electric Arc Furnace",
    inputs={
      { item="Steel Beams", amount=30 },
      { item="Advanced Machinery Parts", amount=25 },
      { item="Electronic Components", amount=50 },
      { item="Circuit Board", amount=5 },
    },
    outputs={
      { item="Circuit Board", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Elevator"] = {
    name="Elevator",
    sanitizedName="Elevator",
    iconItem="Elevator",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=10000.0,
    relatedItemTemplate="Elevator",
    inputs={
      { item="Xenoferrite Plates", amount=50 },
      { item="Steel Beams", amount=50 },
      { item="Advanced Machinery Parts", amount=20 },
      { item="Electronic Components", amount=15 },
    },
    outputs={
      { item="Electronic Components", amount=15, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Emergency Beacon"] = {
    name="Emergency Beacon",
    sanitizedName="Emergency Beacon",
    iconItem="Emergency Beacon",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=3000.0,
    relatedItemTemplate="Emergency Beacon",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=5 },
    },
    outputs={
      { item="Electronic Components", amount=5, percentage=1.0 },
    },
    tags={ "character" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
    }
  },
  ["Energy Cell"] = {
    name="Energy Cell",
    sanitizedName="Energy Cell",
    iconItem="Energy Cell",
    category="Components",
    rowGroup="Electrical Intermediates",
    timeMs=30000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Plates", amount=3 },
      { item="Electronic Components", amount=6 },
      { item="Glass", amount=6 },
      { item="Olumic Acid", amount=60.0 },
    },
    outputs={
      { item="Olumic Acid", amount=60.0, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=30000.0, rate=2.0 },
    }
  },
  ["Escalator"] = {
    name="Escalator",
    sanitizedName="Escalator",
    iconItem="Escalator",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=1500.0,
    relatedItemTemplate="Escalator",
    inputs={
      { item="Xenoferrite Plates", amount=3 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=3, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Explosives (Primitive)"] = {
    name="Explosives (Primitive)",
    sanitizedName="Explosives (Primitive)",
    iconItem="Explosives",
    category="Components",
    rowGroup="General",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Ignium Ore Rubble", amount=2 },
      { item="Technum Ore Rubble", amount=2 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Biomass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Explosives"] = {
    name="Explosives",
    sanitizedName="Explosives",
    iconItem="Explosives",
    category="Components",
    rowGroup="General",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Ignium Powder", amount=4 },
      { item="Low Density Olumite", amount=50.0 },
    },
    outputs={
      { item="Low Density Olumite", amount=50.0, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Firmarlite Sheet (T1)"] = {
    name="Firmarlite Sheet (T1)",
    sanitizedName="Firmarlite Sheet (T1)",
    iconItem="Firmarlite Sheet",
    category="Metallurgy",
    rowGroup="Firmarlite",
    timeMs=12000.0,
    relatedItemTemplate="",
    inputs={
      { item="Liquid Firmarlite", amount=250.0 },
    },
    outputs={
      { item="Liquid Firmarlite", amount=250.0, percentage=1.0 },
    },
    tags={ "casting_machine" },
    rates={
      { crafter="Casting Machine", timeMs=12000.0, rate=5.0 },
    }
  },
  ["Flare Stack"] = {
    name="Flare Stack",
    sanitizedName="Flare Stack",
    iconItem="Flare Stack",
    category="Structures",
    rowGroup="Processing",
    timeMs=5000.0,
    relatedItemTemplate="Flare Stack",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Steel Beams", amount=5 },
      { item="Machinery Parts", amount=5 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Electronic Components", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Fracking Liquid"] = {
    name="Fracking Liquid",
    sanitizedName="Fracking Liquid",
    iconItem="Fracking Liquid",
    category="Components",
    rowGroup="Liquids",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Air", amount=30.0 },
      { item="Olumite Gas", amount=10.0 },
      { item="Water", amount=60.0 },
    },
    outputs={
      { item="Water", amount=60.0, percentage=1.0 },
    },
    tags={ "chemical_processor" },
    rates={
      { crafter="Chemical Processor", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Fracking Tower Base"] = {
    name="Fracking Tower Base",
    sanitizedName="Fracking Tower Base",
    iconItem="Fracking Tower Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Fracking Tower Base",
    inputs={
      { item="Xenoferrite Plates", amount=200 },
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=25 },
      { item="Circuit Board", amount=25 },
    },
    outputs={
      { item="Circuit Board", amount=25, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Freight Elevator I"] = {
    name="Freight Elevator I",
    sanitizedName="Freight Elevator I",
    iconItem="Freight Elevator I",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=7500.0,
    relatedItemTemplate="Freight Elevator I",
    inputs={
      { item="Xenoferrite Plates", amount=15 },
      { item="Steel Beams", amount=15 },
      { item="Advanced Machinery Parts", amount=5 },
    },
    outputs={
      { item="Advanced Machinery Parts", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
      { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
    }
  },
  ["Freight Elevator II"] = {
    name="Freight Elevator II",
    sanitizedName="Freight Elevator II",
    iconItem="Freight Elevator II",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=7500.0,
    relatedItemTemplate="Freight Elevator II",
    inputs={
      { item="Freight Elevator I", amount=1 },
      { item="Advanced Machinery Parts", amount=5 },
      { item="Circuit Board", amount=5 },
    },
    outputs={
      { item="Circuit Board", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
      { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
    }
  },
  ["Fuel Rod Casing"] = {
    name="Fuel Rod Casing",
    sanitizedName="Fuel Rod Casing",
    iconItem="Fuel Rod Casing",
    category="Components",
    rowGroup="Fuel Rod",
    timeMs=15000.0,
    relatedItemTemplate="",
    inputs={
      { item="Advanced Machinery Parts", amount=1 },
      { item="Steel Beams", amount=1 },
    },
    outputs={
      { item="Steel Beams", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Glass"] = {
    name="Glass",
    sanitizedName="Glass",
    iconItem="Glass",
    category="Components",
    rowGroup="General",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Gravel", amount=5 },
    },
    outputs={
      { item="Gravel", amount=5, percentage=1.0 },
    },
    tags={ "smelter", "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Smelter (Small)", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Gravel"] = {
    name="Gravel",
    sanitizedName="Gravel",
    iconItem="Gravel",
    category="Components",
    rowGroup="Concrete",
    timeMs=12000.0,
    relatedItemTemplate="",
    inputs={
      { item="Mineral Rocks", amount=2 },
    },
    outputs={
      { item="Mineral Rocks", amount=2, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=12000.0, rate=5.0 },
      { crafter="Crusher II", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Greenhouse"] = {
    name="Greenhouse",
    sanitizedName="Greenhouse",
    iconItem="Greenhouse",
    category="Structures",
    rowGroup="Processing",
    timeMs=8000.0,
    relatedItemTemplate="Greenhouse",
    inputs={
      { item="Xenoferrite Plates", amount=20 },
      { item="Glass", amount=6 },
      { item="Pipe", amount=4 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Electronic Components", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Hot Air Stove Base"] = {
    name="Hot Air Stove Base",
    sanitizedName="Hot Air Stove Base",
    iconItem="Hot Air Stove Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Hot Air Stove Base",
    inputs={
      { item="Concrete", amount=100 },
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=25 },
      { item="Electronic Components", amount=25 },
    },
    outputs={
      { item="Electronic Components", amount=25, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Hydraulic Piston"] = {
    name="Hydraulic Piston",
    sanitizedName="Hydraulic Piston",
    iconItem="Hydraulic Piston",
    category="Components",
    rowGroup="Mechanical Intermediates",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Steel Beams", amount=1 },
      { item="Low Density Olumite", amount=30.0 },
    },
    outputs={
      { item="Low Density Olumite", amount=30.0, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Ignium Fuel Rod"] = {
    name="Ignium Fuel Rod",
    sanitizedName="Ignium Fuel Rod",
    iconItem="Ignium Fuel Rod",
    category="Components",
    rowGroup="Fuel Rod",
    timeMs=15000.0,
    relatedItemTemplate="Ignium Fuel Rod",
    inputs={
      { item="Fuel Rod Casing", amount=1 },
      { item="Wire Coil", amount=10 },
      { item="Ignium Powder", amount=20 },
      { item="Liquid Fuel", amount=400.0 },
    },
    outputs={
      { item="Liquid Fuel", amount=400.0, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=15000.0, rate=4.0 },
    }
  },
  ["Ignium Powder"] = {
    name="Ignium Powder",
    sanitizedName="Ignium Powder",
    iconItem="Ignium Powder",
    category="Components",
    rowGroup="Fuel Rod",
    timeMs=5000.0,
    relatedItemTemplate="",
    inputs={
      { item="Ignium Ore Rubble", amount=1 },
    },
    outputs={
      { item="Ignium Ore Rubble", amount=1, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=5000.0, rate=12.0 },
      { crafter="Crusher II", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Incinerator"] = {
    name="Incinerator",
    sanitizedName="Incinerator",
    iconItem="Incinerator",
    category="Structures",
    rowGroup="Processing",
    timeMs=5000.0,
    relatedItemTemplate="Incinerator",
    inputs={
      { item="Steel Beams", amount=20 },
      { item="Electronic Components", amount=5 },
      { item="Concrete", amount=25 },
    },
    outputs={
      { item="Concrete", amount=25, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Jetpack Fuel"] = {
    name="Jetpack Fuel",
    sanitizedName="Jetpack Fuel",
    iconItem="Jetpack Fuel",
    category="Components",
    rowGroup="General",
    timeMs=4000.0,
    relatedItemTemplate="Jetpack Fuel",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Liquid Fuel", amount=30.0 },
    },
    outputs={
      { item="Liquid Fuel", amount=30.0, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Ladder"] = {
    name="Ladder",
    sanitizedName="Ladder",
    iconItem="Ladder",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=1500.0,
    relatedItemTemplate="Ladder",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Light Pole"] = {
    name="Light Pole",
    sanitizedName="Light Pole",
    iconItem="Lightpole I",
    category="Decor",
    rowGroup="Lights",
    timeMs=3000.0,
    relatedItemTemplate="Lightpole I",
    inputs={
      { item="Xenoferrite Plates", amount=5 },
      { item="Electronic Components", amount=1 },
      { item="Technum Rods", amount=1 },
    },
    outputs={
      { item="Technum Rods", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Ceiling Light"] = {
    name="Ceiling Light",
    sanitizedName="Ceiling Light",
    iconItem="Ceiling Light I",
    category="Decor",
    rowGroup="Lights",
    timeMs=2000.0,
    relatedItemTemplate="Ceiling Light I",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Electronic Components", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler I", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler II", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler III", timeMs=1000.0, rate=60.0 },
    }
  },
  ["Wall Light"] = {
    name="Wall Light",
    sanitizedName="Wall Light",
    iconItem="Wall Light I",
    category="Decor",
    rowGroup="Lights",
    timeMs=2000.0,
    relatedItemTemplate="Wall Light I",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Electronic Components", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=666.6666666666666, rate=90.0 },
      { crafter="Assembler I", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler II", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler III", timeMs=1000.0, rate=60.0 },
    }
  },
  ["Liquid Firmarlite"] = {
    name="Liquid Firmarlite",
    sanitizedName="Liquid Firmarlite",
    iconItem="Liquid Firmarlite",
    category="Metallurgy",
    rowGroup="Firmarlite",
    timeMs=7500.0,
    relatedItemTemplate="",
    inputs={
      { item="Firmarlite Bar", amount=100 },
    },
    outputs={
      { item="Firmarlite Bar", amount=100, percentage=1.0 },
    },
    tags={ "electric_arc_furnace" },
    rates={
      { crafter="Electric Arc Furnace", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Liquid Fuel"] = {
    name="Liquid Fuel",
    sanitizedName="Liquid Fuel",
    iconItem="Liquid Fuel",
    category="Components",
    rowGroup="Liquids",
    timeMs=8000.0,
    relatedItemTemplate="Liquid Fuel",
    inputs={
      { item="Low Density Olumite", amount=50.0 },
    },
    outputs={
      { item="Low Density Olumite", amount=50.0, percentage=1.0 },
    },
    tags={ "chemical_processor" },
    rates={
      { crafter="Chemical Processor", timeMs=8000.0, rate=7.5 },
    }
  },
  ["Liquid Telluxite"] = {
    name="Liquid Telluxite",
    sanitizedName="Liquid Telluxite",
    iconItem="Liquid Telluxite",
    category="Metallurgy",
    rowGroup="Telluxite",
    timeMs=60000.0,
    relatedItemTemplate="",
    inputs={
      { item="Telluxite Ingot", amount=40 },
    },
    outputs={
      { item="Telluxite Ingot", amount=40, percentage=1.0 },
    },
    tags={ "electric_arc_furnace" },
    rates={
      { crafter="Electric Arc Furnace", timeMs=60000.0, rate=1.0 },
    }
  },
  ["Loader"] = {
    name="Loader",
    sanitizedName="Loader",
    iconItem="Loader",
    category="Structures",
    rowGroup="Loaders",
    timeMs=3000.0,
    relatedItemTemplate="Loader",
    inputs={
      { item="Xenoferrite Plates", amount=4 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Filter Loader"] = {
    name="Filter Loader",
    sanitizedName="Filter Loader",
    iconItem="Filter Loader",
    category="Structures",
    rowGroup="Loaders",
    timeMs=3000.0,
    relatedItemTemplate="Filter Loader",
    inputs={
      { item="Xenoferrite Plates", amount=4 },
      { item="Advanced Machinery Parts", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Loader 2nd Lane"] = {
    name="Loader, 2nd Lane",
    sanitizedName="Loader 2nd Lane",
    iconItem="Loader (2nd Lane)",
    category="Structures",
    rowGroup="Loaders",
    timeMs=3000.0,
    relatedItemTemplate="Loader (2nd Lane)",
    inputs={
      { item="Xenoferrite Plates", amount=8 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Loader 3rd Lane"] = {
    name="Loader, 3rd Lane",
    sanitizedName="Loader 3rd Lane",
    iconItem="Loader (3rd Lane)",
    category="Structures",
    rowGroup="Loaders",
    timeMs=3000.0,
    relatedItemTemplate="Loader (3rd Lane)",
    inputs={
      { item="Xenoferrite Plates", amount=12 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Logistic Container I"] = {
    name="Logistic Container I",
    sanitizedName="Logistic Container I",
    iconItem="Logistic Container I",
    category="Structures",
    rowGroup="Storage",
    timeMs=5000.0,
    relatedItemTemplate="Logistic Container I",
    inputs={
      { item="Xenoferrite Plates", amount=15 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Electronic Components", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Logistic Container II"] = {
    name="Logistic Container II",
    sanitizedName="Logistic Container II",
    iconItem="Logistic Container II",
    category="Structures",
    rowGroup="Storage",
    timeMs=7500.0,
    relatedItemTemplate="Logistic Container II",
    inputs={
      { item="Xenoferrite Plates", amount=15 },
      { item="Steel Beams", amount=10 },
      { item="Advanced Machinery Parts", amount=4 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Electronic Components", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2500.0, rate=24.0 },
      { crafter="Assembler I", timeMs=7500.0, rate=8.0 },
      { crafter="Assembler II", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler III", timeMs=3750.0, rate=16.0 },
    }
  },
  ["Logistic Container III"] = {
    name="Logistic Container III",
    sanitizedName="Logistic Container III",
    iconItem="Logistic Container III",
    category="Structures",
    rowGroup="Storage",
    timeMs=10000.0,
    relatedItemTemplate="Logistic Container III",
    inputs={
      { item="Steel Beams", amount=25 },
      { item="Advanced Machinery Parts", amount=4 },
      { item="Circuit Board", amount=1 },
    },
    outputs={
      { item="Circuit Board", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Maintenance Drone"] = {
    name="Maintenance Drone",
    sanitizedName="Maintenance Drone",
    iconItem="Maintenance Drone",
    category="Robots",
    rowGroup="Drones",
    timeMs=15000.0,
    relatedItemTemplate="",
    inputs={
      { item="Advanced Machinery Parts", amount=4 },
      { item="Electronic Components", amount=5 },
      { item="Circuit Board", amount=1 },
      { item="Energy Cell", amount=1 },
    },
    outputs={
      { item="Energy Cell", amount=1, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Modular Building Planner"] = {
    name="Modular Building Planner",
    sanitizedName="Modular Building Planner",
    iconItem="Modular Building Planner",
    category="Handhelds",
    rowGroup="General",
    timeMs=4000.0,
    relatedItemTemplate="",
    inputs={
      { item="Polymer Board", amount=1 },
      { item="Machinery Parts", amount=1 },
    },
    outputs={
      { item="Machinery Parts", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Machinery Parts"] = {
    name="Machinery Parts",
    sanitizedName="Machinery Parts",
    iconItem="Machinery Parts",
    category="Components",
    rowGroup="Mechanical Intermediates",
    timeMs=1500.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Advanced Machinery Parts"] = {
    name="Advanced Machinery Parts",
    sanitizedName="Advanced Machinery Parts",
    iconItem="Advanced Machinery Parts",
    category="Components",
    rowGroup="Mechanical Intermediates",
    timeMs=4500.0,
    relatedItemTemplate="",
    inputs={
      { item="Machinery Parts", amount=2 },
      { item="Steel Beams", amount=1 },
    },
    outputs={
      { item="Steel Beams", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler I", timeMs=4500.0, rate=13.333333333333334 },
      { crafter="Assembler II", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler III", timeMs=2250.0, rate=26.666666666666668 },
    }
  },
  ["Mining Drill"] = {
    name="Mining Drill",
    sanitizedName="Mining Drill",
    iconItem="Mining Drill",
    category="Handhelds",
    rowGroup="General",
    timeMs=8000.0,
    relatedItemTemplate="Mining Drill",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=25 },
      { item="Technum Rods", amount=25 },
    },
    outputs={
      { item="Technum Rods", amount=25, percentage=1.0 },
    },
    tags={ "character" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
    }
  },
  ["Mining Laser"] = {
    name="Mining Laser",
    sanitizedName="Mining Laser",
    iconItem="Mining Laser",
    category="Handhelds",
    rowGroup="General",
    timeMs=10000.0,
    relatedItemTemplate="Mining Laser",
    inputs={
      { item="Steel Beams", amount=2 },
      { item="Advanced Machinery Parts", amount=15 },
      { item="Energy Cell", amount=15 },
      { item="Electronic Components", amount=15 },
    },
    outputs={
      { item="Electronic Components", amount=15, percentage=1.0 },
    },
    tags={ "character" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
    }
  },
  ["Modular Storage Tank Base"] = {
    name="Modular Storage Tank Base",
    sanitizedName="Modular Storage Tank Base",
    iconItem="Modular Storage Tank Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Modular Storage Tank Base",
    inputs={
      { item="Xenoferrite Plates", amount=200 },
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=25 },
      { item="Circuit Board", amount=25 },
    },
    outputs={
      { item="Circuit Board", amount=25, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Monument Base"] = {
    name="Monument Base",
    sanitizedName="Monument Base",
    iconItem="Monument Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Monument Base",
    inputs={
      { item="Concrete", amount=50 },
    },
    outputs={
      { item="Concrete", amount=50, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Wooden Blocks"] = {
    name="Wooden Blocks",
    sanitizedName="Wooden Blocks",
    iconItem="Wooden Blocks",
    category="Decor",
    rowGroup="Blocks",
    timeMs=5000.0,
    relatedItemTemplate="Wooden Blocks",
    inputs={
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Biomass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Wooden Decor Blocks"] = {
    name="Wooden Decor Blocks",
    sanitizedName="Wooden Decor Blocks",
    iconItem="Wooden Decor Blocks",
    category="Decor",
    rowGroup="Blocks",
    timeMs=5000.0,
    relatedItemTemplate="Wooden Decor Blocks",
    inputs={
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Biomass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Office Chair"] = {
    name="Office Chair",
    sanitizedName="Office Chair",
    iconItem="Office Chair",
    category="Decor",
    rowGroup="Office",
    timeMs=3000.0,
    relatedItemTemplate="Office Chair",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Executive Office Chair"] = {
    name="Executive Office Chair",
    sanitizedName="Executive Office Chair",
    iconItem="Executive Office Chair",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Executive Office Chair",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Biomass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office Couch"] = {
    name="Office Couch",
    sanitizedName="Office Couch",
    iconItem="Office Couch",
    category="Decor",
    rowGroup="Office",
    timeMs=3000.0,
    relatedItemTemplate="Office Couch",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Executive Office Couch"] = {
    name="Executive Office Couch",
    sanitizedName="Executive Office Couch",
    iconItem="Executive Office Couch",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Executive Office Couch",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Biomass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office Desk"] = {
    name="Office Desk",
    sanitizedName="Office Desk",
    iconItem="Office Desk",
    category="Decor",
    rowGroup="Office",
    timeMs=3000.0,
    relatedItemTemplate="Office Desk",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=1 },
    },
    outputs={
      { item="Electronic Components", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Executive Office Desk"] = {
    name="Executive Office Desk",
    sanitizedName="Executive Office Desk",
    iconItem="Executive Office Desk",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Executive Office Desk",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Electronic Components", amount=1 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Biomass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office File Cabinet"] = {
    name="Office File Cabinet",
    sanitizedName="Office File Cabinet",
    iconItem="Office File Cabinet",
    category="Decor",
    rowGroup="Office",
    timeMs=3000.0,
    relatedItemTemplate="Office File Cabinet",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Executive Office File Cabinet"] = {
    name="Executive Office File Cabinet",
    sanitizedName="Executive Office File Cabinet",
    iconItem="Executive Office File Cabinet",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Executive Office File Cabinet",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Biomass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Marble (Black)"] = {
    name="Marble (Black)",
    sanitizedName="Marble (Black)",
    iconItem="Marble (Black)",
    category="Decor",
    rowGroup="Blocks",
    timeMs=3000.0,
    relatedItemTemplate="Marble (Black)",
    inputs={
      { item="Mineral Rocks", amount=1 },
      { item="Crude Olumite", amount=5.0 },
    },
    outputs={
      { item="Crude Olumite", amount=5.0, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Marble (White)"] = {
    name="Marble (White)",
    sanitizedName="Marble (White)",
    iconItem="Marble (White)",
    category="Decor",
    rowGroup="Blocks",
    timeMs=3000.0,
    relatedItemTemplate="Marble (White)",
    inputs={
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=5.0 },
    },
    outputs={
      { item="Water", amount=5.0, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Office Nameplate"] = {
    name="Office Nameplate",
    sanitizedName="Office Nameplate",
    iconItem="Office Nameplate",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Office Nameplate",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office Plant"] = {
    name="Office Plant",
    sanitizedName="Office Plant",
    iconItem="Office Plant",
    category="Decor",
    rowGroup="Office",
    timeMs=3000.0,
    relatedItemTemplate="Office Plant",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Biomass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Executive Office Plant"] = {
    name="Executive Office Plant",
    sanitizedName="Executive Office Plant",
    iconItem="Executive Office Plant",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Executive Office Plant",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Biomass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office Statue"] = {
    name="Office Statue",
    sanitizedName="Office Statue",
    iconItem="Office Statue",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Office Statue",
    inputs={
      { item="Xenoferrite Plates", amount=3 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Biomass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office Table"] = {
    name="Office Table",
    sanitizedName="Office Table",
    iconItem="Office Table",
    category="Decor",
    rowGroup="Office",
    timeMs=3000.0,
    relatedItemTemplate="Office Table",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Executive Office Table"] = {
    name="Executive Office Table",
    sanitizedName="Executive Office Table",
    iconItem="Executive Office Table",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Executive Office Table",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Biomass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Office Wall Plaque"] = {
    name="Office Wall Plaque",
    sanitizedName="Office Wall Plaque",
    iconItem="Office Wall Plaque",
    category="Decor",
    rowGroup="Office Deluxe",
    timeMs=3000.0,
    relatedItemTemplate="Office Wall Plaque",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Biomass", amount=1 },
    },
    outputs={
      { item="Biomass", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Olumic Acid"] = {
    name="Olumic Acid",
    sanitizedName="Olumic Acid",
    iconItem="Olumic Acid",
    category="Components",
    rowGroup="Liquids",
    timeMs=8000.0,
    relatedItemTemplate="",
    inputs={
      { item="Ignium Powder", amount=16 },
      { item="Olumite Gas", amount=75.0 },
      { item="Water", amount=25.0 },
    },
    outputs={
      { item="Water", amount=25.0, percentage=1.0 },
    },
    tags={ "chemical_processor" },
    rates={
      { crafter="Chemical Processor", timeMs=8000.0, rate=7.5 },
    }
  },
  ["Ignium Ore"] = {
    name="Ignium Ore",
    sanitizedName="Ignium Ore",
    iconItem="Ignium Ore",
    category="Metallurgy",
    rowGroup="Steel",
    timeMs=1500.0,
    relatedItemTemplate="",
    inputs={
      { item="Ignium Ore Rubble", amount=1 },
    },
    outputs={
      { item="Ignium Ore Rubble", amount=1, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=1500.0, rate=40.0 },
      { crafter="Crusher II", timeMs=750.0, rate=80.0 },
    }
  },
  ["Ore Scanner (Handheld)"] = {
    name="Ore Scanner (Handheld)",
    sanitizedName="Ore Scanner (Handheld)",
    iconItem="Ore Scanner",
    category="Handhelds",
    rowGroup="General",
    timeMs=10000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Plates", amount=4 },
      { item="Electronic Components", amount=20 },
    },
    outputs={
      { item="Electronic Components", amount=20, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Technum Ore"] = {
    name="Technum Ore",
    sanitizedName="Technum Ore",
    iconItem="Technum Ore",
    category="Metallurgy",
    rowGroup="Technum Metallurgy",
    timeMs=1500.0,
    relatedItemTemplate="",
    inputs={
      { item="Technum Ore Rubble", amount=1 },
    },
    outputs={
      { item="Technum Ore Rubble", amount=1, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=1500.0, rate=40.0 },
      { crafter="Crusher II", timeMs=750.0, rate=80.0 },
    }
  },
  ["Telluxite Ore"] = {
    name="Telluxite Ore",
    sanitizedName="Telluxite Ore",
    iconItem="Telluxite Ore",
    category="Metallurgy",
    rowGroup="Telluxite",
    timeMs=1500.0,
    relatedItemTemplate="",
    inputs={
      { item="Telluxite Ore Rubble", amount=4 },
    },
    outputs={
      { item="Telluxite Ore Rubble", amount=4, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=1500.0, rate=40.0 },
      { crafter="Crusher II", timeMs=750.0, rate=80.0 },
    }
  },
  ["Ore Vein Miner"] = {
    name="Ore Vein Miner",
    sanitizedName="Ore Vein Miner",
    iconItem="Ore Vein Miner",
    category="Structures",
    rowGroup="Resource Gathering",
    timeMs=8000.0,
    relatedItemTemplate="Ore Vein Miner",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Machinery Parts", amount=10 },
      { item="Electronic Components", amount=5 },
    },
    outputs={
      { item="Electronic Components", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Xenoferrite Ore"] = {
    name="Xenoferrite Ore",
    sanitizedName="Xenoferrite Ore",
    iconItem="Xenoferrite Ore",
    category="Metallurgy",
    rowGroup="Xenoferrite Metallurgy",
    timeMs=1500.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Ore Rubble", amount=1 },
    },
    outputs={
      { item="Xenoferrite Ore Rubble", amount=1, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=1500.0, rate=40.0 },
      { crafter="Crusher II", timeMs=750.0, rate=80.0 },
    }
  },
  ["Paint"] = {
    name="Paint",
    sanitizedName="Paint",
    iconItem="Paint",
    category="Components",
    rowGroup="Liquids",
    timeMs=7500.0,
    relatedItemTemplate="",
    inputs={
      { item="Low Density Olumite", amount=50.0 },
      { item="Olumite Gas", amount=50.0 },
      { item="Water", amount=50.0 },
    },
    outputs={
      { item="Water", amount=50.0, percentage=1.0 },
    },
    tags={ "chemical_processor" },
    rates={
      { crafter="Chemical Processor", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Paint Roller"] = {
    name="Paint Roller",
    sanitizedName="Paint Roller",
    iconItem="Paint Roller",
    category="Handhelds",
    rowGroup="General",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Biomass", amount=10 },
      { item="Technum Rods", amount=1 },
      { item="Machinery Parts", amount=1 },
    },
    outputs={
      { item="Machinery Parts", amount=1, percentage=1.0 },
    },
    tags={ "character" },
    rates={
      { crafter="character", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Pipe"] = {
    name="Pipe",
    sanitizedName="Pipe",
    iconItem="Pipe",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=4000.0,
    relatedItemTemplate="Pipe",
    inputs={
      { item="Steel Beams", amount=2 },
    },
    outputs={
      { item="Steel Beams", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Pipeline"] = {
    name="Pipeline",
    sanitizedName="Pipeline",
    iconItem="Pipeline",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=4000.0,
    relatedItemTemplate="Pipeline",
    inputs={
      { item="Steel Beams", amount=8 },
    },
    outputs={
      { item="Steel Beams", amount=8, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Pipe Adapter"] = {
    name="Pipe Adapter",
    sanitizedName="Pipe Adapter",
    iconItem="Pipe Adapter",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=4000.0,
    relatedItemTemplate="Pipe Adapter",
    inputs={
      { item="Steel Beams", amount=6 },
    },
    outputs={
      { item="Steel Beams", amount=6, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Pipe Intake"] = {
    name="Pipe Intake",
    sanitizedName="Pipe Intake",
    iconItem="Pipe Intake",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Pipe Intake",
    inputs={
      { item="Pipe", amount=1 },
      { item="Machinery Parts", amount=5 },
    },
    outputs={
      { item="Machinery Parts", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Plumber Tool"] = {
    name="Plumber Tool",
    sanitizedName="Plumber Tool",
    iconItem="Plumber Tool",
    category="Handhelds",
    rowGroup="General",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Biomass", amount=5 },
    },
    outputs={
      { item="Biomass", amount=5, percentage=1.0 },
    },
    tags={ "character" },
    rates={
      { crafter="character", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Polymer Board"] = {
    name="Polymer Board",
    sanitizedName="Polymer Board",
    iconItem="Polymer Board",
    category="Components",
    rowGroup="General",
    timeMs=2000.0,
    relatedItemTemplate="",
    inputs={
      { item="Liquid Polymer", amount=5.0 },
    },
    outputs={
      { item="Liquid Polymer", amount=5.0, percentage=1.0 },
    },
    tags={ "casting_machine" },
    rates={
      { crafter="Casting Machine", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Portable Fuel"] = {
    name="Portable Fuel",
    sanitizedName="Portable Fuel",
    iconItem="Portable Fuel",
    category="Components",
    rowGroup="General",
    timeMs=4000.0,
    relatedItemTemplate="Portable Fuel",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
      { item="Liquid Fuel", amount=30.0 },
    },
    outputs={
      { item="Liquid Fuel", amount=30.0, percentage=1.0 },
    },
    tags={ "assembler_fluid" },
    rates={
      { crafter="Fluid Assembler I", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Power Line"] = {
    name="Power Line",
    sanitizedName="Power Line",
    iconItem="Power Line",
    category="Handhelds",
    rowGroup="General",
    timeMs=4000.0,
    relatedItemTemplate="",
    inputs={
      { item="Wire Coil", amount=2 },
    },
    outputs={
      { item="Wire Coil", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Power Pole (Small)"] = {
    name="Power Pole (Small)",
    sanitizedName="Power Pole (Small)",
    iconItem="Power Pole (Small)",
    category="Structures",
    rowGroup="Energy",
    timeMs=3000.0,
    relatedItemTemplate="Power Pole (Small)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Power Pole (Large)"] = {
    name="Power Pole (Large)",
    sanitizedName="Power Pole (Large)",
    iconItem="Power Pole (Large)",
    category="Structures",
    rowGroup="Energy",
    timeMs=5000.0,
    relatedItemTemplate="Power Pole (Large)",
    inputs={
      { item="Steel Beams", amount=10 },
      { item="Electronic Components", amount=5 },
      { item="Polymer Board", amount=5 },
    },
    outputs={
      { item="Polymer Board", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Power Pole (Wall-Mounted)"] = {
    name="Power Pole (Wall-Mounted)",
    sanitizedName="Power Pole (Wall-Mounted)",
    iconItem="Power Pole (Wall-Mounted)",
    category="Structures",
    rowGroup="Energy",
    timeMs=3000.0,
    relatedItemTemplate="Power Pole (Wall-Mounted)",
    inputs={
      { item="Xenoferrite Plates", amount=4 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Pumpjack I"] = {
    name="Pumpjack I",
    sanitizedName="Pumpjack I",
    iconItem="Pumpjack I",
    category="Structures",
    rowGroup="Resource Gathering",
    timeMs=8000.0,
    relatedItemTemplate="Pumpjack I",
    inputs={
      { item="Steel Beams", amount=12 },
      { item="Pipe", amount=8 },
      { item="Advanced Machinery Parts", amount=5 },
      { item="Electronic Components", amount=5 },
    },
    outputs={
      { item="Electronic Components", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Pump (Pipes)"] = {
    name="Pump (Pipes)",
    sanitizedName="Pump (Pipes)",
    iconItem="Pump (Pipes)",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Pump (Pipes)",
    inputs={
      { item="Xenoferrite Plates", amount=6 },
      { item="Machinery Parts", amount=5 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Pump (Pipelines)"] = {
    name="Pump (Pipelines)",
    sanitizedName="Pump (Pipelines)",
    iconItem="Pump (Pipelines)",
    category="Structures",
    rowGroup="Conveyors",
    timeMs=3000.0,
    relatedItemTemplate="Pump (Pipelines)",
    inputs={
      { item="Xenoferrite Plates", amount=6 },
      { item="Machinery Parts", amount=5 },
      { item="Electronic Components", amount=2 },
    },
    outputs={
      { item="Electronic Components", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler I", timeMs=3000.0, rate=20.0 },
      { crafter="Assembler II", timeMs=2000.0, rate=30.0 },
      { crafter="Assembler III", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Radio Tower Base"] = {
    name="Radio Tower Base",
    sanitizedName="Radio Tower Base",
    iconItem="Radio Tower Base",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Radio Tower Base",
    inputs={
      { item="Xenoferrite Plates", amount=200 },
      { item="Steel Beams", amount=100 },
      { item="Advanced Machinery Parts", amount=25 },
      { item="Circuit Board", amount=25 },
    },
    outputs={
      { item="Circuit Board", amount=25, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Railings"] = {
    name="Railings",
    sanitizedName="Railings",
    iconItem="Railings",
    category="Decor",
    rowGroup="General",
    timeMs=1500.0,
    relatedItemTemplate="Railings",
    inputs={
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Research Server"] = {
    name="Research Server",
    sanitizedName="Research Server",
    iconItem="Research Server",
    category="Science",
    rowGroup="Servers",
    timeMs=4000.0,
    relatedItemTemplate="Research Server",
    inputs={
      { item="Xenoferrite Plates", amount=20 },
      { item="Electronic Components", amount=10 },
      { item="Technum Rods", amount=20 },
    },
    outputs={
      { item="Technum Rods", amount=20, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1333.3333333333333, rate=45.0 },
      { crafter="Assembler I", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler II", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler III", timeMs=2000.0, rate=30.0 },
    }
  },
  ["Robot Arm"] = {
    name="Robot Arm",
    sanitizedName="Robot Arm",
    iconItem="Robot Arm",
    category="Robots",
    rowGroup="Robots",
    timeMs=15000.0,
    relatedItemTemplate="",
    inputs={
      { item="Robot Parts", amount=1 },
      { item="Hydraulic Piston", amount=1 },
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=1, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Robot Head"] = {
    name="Robot Head",
    sanitizedName="Robot Head",
    iconItem="Robot Head",
    category="Robots",
    rowGroup="Robots",
    timeMs=15000.0,
    relatedItemTemplate="",
    inputs={
      { item="Robot Parts", amount=1 },
      { item="CPU", amount=2 },
      { item="Glass", amount=1 },
    },
    outputs={
      { item="Glass", amount=1, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Robot Leg"] = {
    name="Robot Leg",
    sanitizedName="Robot Leg",
    iconItem="Robot Leg",
    category="Robots",
    rowGroup="Robots",
    timeMs=15000.0,
    relatedItemTemplate="",
    inputs={
      { item="Robot Parts", amount=1 },
      { item="Hydraulic Piston", amount=1 },
      { item="Xenoferrite Plates", amount=1 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=1, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Robot Torso"] = {
    name="Robot Torso",
    sanitizedName="Robot Torso",
    iconItem="Robot Torso",
    category="Robots",
    rowGroup="Robots",
    timeMs=15000.0,
    relatedItemTemplate="",
    inputs={
      { item="Robot Parts", amount=1 },
      { item="Firmarlite Sheet", amount=2 },
      { item="Circuit Board", amount=1 },
      { item="Energy Cell", amount=1 },
    },
    outputs={
      { item="Energy Cell", amount=1, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=15000.0, rate=4.0 },
      { crafter="Assembler II", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler III", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Robot Parts"] = {
    name="Robot Parts",
    sanitizedName="Robot Parts",
    iconItem="Robot Parts",
    category="Components",
    rowGroup="Mechanical Intermediates",
    timeMs=30000.0,
    relatedItemTemplate="",
    inputs={
      { item="Firmarlite Sheet", amount=2 },
      { item="Advanced Machinery Parts", amount=1 },
      { item="Electronic Components", amount=4 },
      { item="Polymer Board", amount=2 },
    },
    outputs={
      { item="Polymer Board", amount=2, percentage=1.0 },
    },
    tags={ "assembler" },
    rates={
      { crafter="Assembler I", timeMs=30000.0, rate=2.0 },
      { crafter="Assembler II", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler III", timeMs=15000.0, rate=4.0 },
    }
  },
  ["Rocky Desert Seed (Plants)"] = {
    name="Rocky Desert Seed (Plants)",
    sanitizedName="Rocky Desert Seed (Plants)",
    iconItem="Rocky Desert Seed (Plants)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Rocky Desert Seed (Plants)",
    inputs={
      { item="Rocky Desert Seed (Plants)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Water", amount=250.0, percentage=1.0 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Rocky Desert Seed (Trees)"] = {
    name="Rocky Desert Seed (Trees)",
    sanitizedName="Rocky Desert Seed (Trees)",
    iconItem="Rocky Desert Seed (Trees)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Rocky Desert Seed (Trees)",
    inputs={
      { item="Rocky Desert Seed (Trees)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Water", amount=250.0, percentage=1.0 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Space Station Requester Warehouse"] = {
    name="Space Station Requester Warehouse",
    sanitizedName="Space Station Requester Warehouse",
    iconItem="Space Station Requester Warehouse",
    category="Structures",
    rowGroup="Construction and Warehouses",
    timeMs=10000.0,
    relatedItemTemplate="Space Station Requester Warehouse",
    inputs={
      { item="Steel Beams", amount=200 },
      { item="Advanced Machinery Parts", amount=50 },
      { item="Circuit Board", amount=50 },
      { item="Polymer Board", amount=100 },
    },
    outputs={
      { item="Polymer Board", amount=100, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Sales Warehouse"] = {
    name="Sales Warehouse",
    sanitizedName="Sales Warehouse",
    iconItem="Sales Warehouse",
    category="Structures",
    rowGroup="Construction and Warehouses",
    timeMs=10000.0,
    relatedItemTemplate="Sales Warehouse",
    inputs={
      { item="Steel Beams", amount=200 },
      { item="Advanced Machinery Parts", amount=50 },
      { item="Circuit Board", amount=50 },
      { item="Polymer Board", amount=100 },
    },
    outputs={
      { item="Polymer Board", amount=100, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Sandy Desert Seed (Plants)"] = {
    name="Sandy Desert Seed (Plants)",
    sanitizedName="Sandy Desert Seed (Plants)",
    iconItem="Sandy Desert Seed (Plants)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Sandy Desert Seed (Plants)",
    inputs={
      { item="Sandy Desert Seed (Plants)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Water", amount=250.0, percentage=1.0 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Sandy Desert Seed (Trees)"] = {
    name="Sandy Desert Seed (Trees)",
    sanitizedName="Sandy Desert Seed (Trees)",
    iconItem="Sandy Desert Seed (Trees)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Sandy Desert Seed (Trees)",
    inputs={
      { item="Sandy Desert Seed (Trees)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Water", amount=250.0, percentage=1.0 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Long Range Scanner Base"] = {
    name="Long Range Scanner Base",
    sanitizedName="Long Range Scanner Base",
    iconItem="Long Range Scanner",
    category="Buildings",
    rowGroup="Modular Buildings",
    timeMs=20000.0,
    relatedItemTemplate="Long Range Scanner",
    inputs={
      { item="Concrete", amount=25 },
      { item="Steel Beams", amount=50 },
      { item="Machinery Parts", amount=25 },
      { item="Electronic Components", amount=50 },
    },
    outputs={
      { item="Electronic Components", amount=50, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler I", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler II", timeMs=13333.333333333334, rate=4.5 },
      { crafter="Assembler III", timeMs=10000.0, rate=6.0 },
    }
  },
  ["Science Pack I"] = {
    name="Science Pack I",
    sanitizedName="Science Pack I",
    iconItem="Science Pack I",
    category="Science",
    rowGroup="Science Packs",
    timeMs=30000.0,
    relatedItemTemplate="",
    inputs={
      { item="Machinery Parts", amount=10 },
      { item="Technum Rods", amount=8 },
    },
    outputs={
      { item="Technum Rods", amount=8, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler I", timeMs=30000.0, rate=2.0 },
      { crafter="Assembler II", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler III", timeMs=15000.0, rate=4.0 },
    }
  },
  ["Science Pack II"] = {
    name="Science Pack II",
    sanitizedName="Science Pack II",
    iconItem="Science Pack II",
    category="Science",
    rowGroup="Science Packs",
    timeMs=30000.0,
    relatedItemTemplate="",
    inputs={
      { item="Conveyor I", amount=6 },
      { item="Building Block", amount=12 },
    },
    outputs={
      { item="Building Block", amount=12, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler I", timeMs=30000.0, rate=2.0 },
      { crafter="Assembler II", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler III", timeMs=15000.0, rate=4.0 },
    }
  },
  ["Science Pack III"] = {
    name="Science Pack III",
    sanitizedName="Science Pack III",
    iconItem="Science Pack III",
    category="Science",
    rowGroup="Science Packs",
    timeMs=60000.0,
    relatedItemTemplate="",
    inputs={
      { item="Advanced Machinery Parts", amount=5 },
      { item="Concrete", amount=12 },
      { item="Pipe", amount=4 },
    },
    outputs={
      { item="Pipe", amount=4, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler I", timeMs=60000.0, rate=1.0 },
      { crafter="Assembler II", timeMs=40000.0, rate=1.5 },
      { crafter="Assembler III", timeMs=30000.0, rate=2.0 },
    }
  },
  ["Science Pack IV"] = {
    name="Science Pack IV",
    sanitizedName="Science Pack IV",
    iconItem="Science Pack IV",
    category="Science",
    rowGroup="Science Packs",
    timeMs=60000.0,
    relatedItemTemplate="",
    inputs={
      { item="Circuit Board", amount=12 },
      { item="Energy Cell", amount=12 },
      { item="Firmarlite Bar", amount=4 },
    },
    outputs={
      { item="Firmarlite Bar", amount=4, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=20000.0, rate=3.0 },
      { crafter="Assembler I", timeMs=60000.0, rate=1.0 },
      { crafter="Assembler II", timeMs=40000.0, rate=1.5 },
      { crafter="Assembler III", timeMs=30000.0, rate=2.0 },
    }
  },
  ["Science Pack V"] = {
    name="Science Pack V",
    sanitizedName="Science Pack V",
    iconItem="Science Pack V",
    category="Science",
    rowGroup="Science Packs",
    timeMs=120000.0,
    relatedItemTemplate="",
    inputs={
      { item="Robot Parts", amount=4 },
      { item="Hydraulic Piston", amount=12 },
      { item="CPU", amount=1 },
    },
    outputs={
      { item="CPU", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=40000.0, rate=1.5 },
      { crafter="Assembler I", timeMs=120000.0, rate=0.5 },
      { crafter="Assembler II", timeMs=80000.0, rate=0.75 },
      { crafter="Assembler III", timeMs=60000.0, rate=1.0 },
    }
  },
  ["Sign"] = {
    name="Sign",
    sanitizedName="Sign",
    iconItem="Sign",
    category="Decor",
    rowGroup="General",
    timeMs=1500.0,
    relatedItemTemplate="Sign",
    inputs={
      { item="Xenoferrite Plates", amount=4 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=4, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Advanced Smelter"] = {
    name="Advanced Smelter",
    sanitizedName="Advanced Smelter",
    iconItem="Advanced Smelter",
    category="Structures",
    rowGroup="Processing",
    timeMs=10000.0,
    relatedItemTemplate="Advanced Smelter",
    inputs={
      { item="Steel Beams", amount=15 },
      { item="Advanced Machinery Parts", amount=5 },
      { item="Circuit Board", amount=5 },
    },
    outputs={
      { item="Circuit Board", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Smelter (Small)"] = {
    name="Smelter (Small)",
    sanitizedName="Smelter (Small)",
    iconItem="Smelter (Small)",
    category="Structures",
    rowGroup="Processing",
    timeMs=10000.0,
    relatedItemTemplate="Smelter (Small)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Machinery Parts", amount=4 },
      { item="Electronic Components", amount=4 },
    },
    outputs={
      { item="Electronic Components", amount=4, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Solar Panel (Small)"] = {
    name="Solar Panel (Small)",
    sanitizedName="Solar Panel (Small)",
    iconItem="Solar Panel (Small)",
    category="Structures",
    rowGroup="Energy",
    timeMs=8000.0,
    relatedItemTemplate="Solar Panel (Small)",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Electronic Components", amount=10 },
      { item="Glass", amount=10 },
      { item="Energy Cell", amount=5 },
    },
    outputs={
      { item="Energy Cell", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Solar Panel (Large)"] = {
    name="Solar Panel (Large)",
    sanitizedName="Solar Panel (Large)",
    iconItem="Solar Panel (Large)",
    category="Structures",
    rowGroup="Energy",
    timeMs=10000.0,
    relatedItemTemplate="Solar Panel (Large)",
    inputs={
      { item="Xenoferrite Plates", amount=30 },
      { item="Advanced Machinery Parts", amount=5 },
      { item="Circuit Board", amount=10 },
      { item="Energy Cell", amount=10 },
      { item="Glass", amount=10 },
    },
    outputs={
      { item="Glass", amount=10, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Stairs"] = {
    name="Stairs",
    sanitizedName="Stairs",
    iconItem="Stairs",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=1500.0,
    relatedItemTemplate="Stairs",
    inputs={
      { item="Xenoferrite Plates", amount=2 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=2, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Xenoferrite-Ignium Ore Blend"] = {
    name="Xenoferrite-Ignium Ore Blend",
    sanitizedName="Xenoferrite-Ignium Ore Blend",
    iconItem="Xenoferrite-Ignium Ore Blend",
    category="Metallurgy",
    rowGroup="Steel",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Ore Rubble", amount=4 },
      { item="Ignium Ore Rubble", amount=2 },
    },
    outputs={
      { item="Ignium Ore Rubble", amount=2, percentage=1.0 },
    },
    tags={ "crusher" },
    rates={
      { crafter="Crusher I", timeMs=3000.0, rate=20.0 },
      { crafter="Crusher II", timeMs=1500.0, rate=40.0 },
    }
  },
  ["Steel Beams (T1)"] = {
    name="Steel Beams (T1)",
    sanitizedName="Steel Beams (T1)",
    iconItem="Steel Beams",
    category="Metallurgy",
    rowGroup="Steel",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite-Ignium Ore Blend", amount=1 },
    },
    outputs={
      { item="Xenoferrite-Ignium Ore Blend", amount=1, percentage=1.0 },
    },
    tags={ "smelter", "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
      { crafter="Smelter (Small)", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Steel Beams (T2)"] = {
    name="Steel Beams (T2)",
    sanitizedName="Steel Beams (T2)",
    iconItem="Steel Beams",
    category="Metallurgy",
    rowGroup="Steel",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Advanced Xenoferrite-Ignium Ore Blend", amount=1 },
    },
    outputs={
      { item="Advanced Xenoferrite-Ignium Ore Blend", amount=1, percentage=1.0 },
    },
    tags={ "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Tank"] = {
    name="Tank",
    sanitizedName="Tank",
    iconItem="Tank I",
    category="Structures",
    rowGroup="Storage",
    timeMs=5000.0,
    relatedItemTemplate="Tank I",
    inputs={
      { item="Xenoferrite Plates", amount=10 },
      { item="Steel Beams", amount=20 },
      { item="Advanced Machinery Parts", amount=5 },
    },
    outputs={
      { item="Advanced Machinery Parts", amount=5, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Technum Rods (Tier 1)"] = {
    name="Technum Rods (Tier 1)",
    sanitizedName="Technum Rods (Tier 1)",
    iconItem="Technum Rods",
    category="Metallurgy",
    rowGroup="Technum Metallurgy",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Technum Ore Rubble", amount=1 },
    },
    outputs={
      { item="Technum Ore Rubble", amount=1, percentage=1.0 },
    },
    tags={ "smelter", "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=2000.0, rate=30.0 },
      { crafter="Smelter (Small)", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Technum Rods"] = {
    name="Technum Rods",
    sanitizedName="Technum Rods",
    iconItem="Technum Rods",
    category="",
    rowGroup="",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Technum Ore Rubble", amount=2 },
    },
    outputs={
      { item="Technum Ore Rubble", amount=2, percentage=1.0 },
    },
    tags={ "base_station" },
    rates={
    }
  },
  ["Technum Rods (Tier 2)"] = {
    name="Technum Rods (Tier 2)",
    sanitizedName="Technum Rods (Tier 2)",
    iconItem="Technum Rods",
    category="Metallurgy",
    rowGroup="Technum Metallurgy",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Technum Ore", amount=2 },
    },
    outputs={
      { item="Technum Ore", amount=2, percentage=1.0 },
    },
    tags={ "smelter", "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
      { crafter="Smelter (Small)", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Technum Rods (Tier 3)"] = {
    name="Technum Rods (Tier 3)",
    sanitizedName="Technum Rods (Tier 3)",
    iconItem="Technum Rods",
    category="Metallurgy",
    rowGroup="Technum Metallurgy",
    timeMs=7500.0,
    relatedItemTemplate="",
    inputs={
      { item="Molten Technum", amount=15.0 },
    },
    outputs={
      { item="Molten Technum", amount=15.0, percentage=1.0 },
    },
    tags={ "casting_machine" },
    rates={
      { crafter="Casting Machine", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Telluxite Ingot"] = {
    name="Telluxite Ingot",
    sanitizedName="Telluxite Ingot",
    iconItem="Telluxite Ingot",
    category="Metallurgy",
    rowGroup="Telluxite",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Telluxite Ore", amount=4 },
    },
    outputs={
      { item="Telluxite Ore", amount=4, percentage=1.0 },
    },
    tags={ "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Telluxite Wafer"] = {
    name="Telluxite Wafer",
    sanitizedName="Telluxite Wafer",
    iconItem="Telluxite Wafer",
    category="Components",
    rowGroup="General",
    timeMs=24000.0,
    relatedItemTemplate="",
    inputs={
      { item="Liquid Telluxite", amount=400.0 },
    },
    outputs={
      { item="Liquid Telluxite", amount=400.0, percentage=1.0 },
    },
    tags={ "casting_machine" },
    rates={
      { crafter="Casting Machine", timeMs=24000.0, rate=2.5 },
    }
  },
  ["Transformer (Small)"] = {
    name="Transformer (Small)",
    sanitizedName="Transformer (Small)",
    iconItem="Transformer (Small)",
    category="Structures",
    rowGroup="Energy",
    timeMs=5000.0,
    relatedItemTemplate="Transformer (Small)",
    inputs={
      { item="Xenoferrite Plates", amount=15 },
      { item="Electronic Components", amount=10 },
      { item="Technum Rods", amount=15 },
    },
    outputs={
      { item="Technum Rods", amount=15, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=1666.6666666666667, rate=36.0 },
      { crafter="Assembler I", timeMs=5000.0, rate=12.0 },
      { crafter="Assembler II", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler III", timeMs=2500.0, rate=24.0 },
    }
  },
  ["Transformer (Large)"] = {
    name="Transformer (Large)",
    sanitizedName="Transformer (Large)",
    iconItem="Transformer (Large)",
    category="Structures",
    rowGroup="Energy",
    timeMs=10000.0,
    relatedItemTemplate="Transformer (Large)",
    inputs={
      { item="Xenoferrite Plates", amount=25 },
      { item="Electronic Components", amount=10 },
      { item="Circuit Board", amount=10 },
    },
    outputs={
      { item="Circuit Board", amount=10, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=3333.3333333333335, rate=18.0 },
      { crafter="Assembler I", timeMs=10000.0, rate=6.0 },
      { crafter="Assembler II", timeMs=6666.666666666667, rate=9.0 },
      { crafter="Assembler III", timeMs=5000.0, rate=12.0 },
    }
  },
  ["Transport Ship Port"] = {
    name="Transport Ship Port",
    sanitizedName="Transport Ship Port",
    iconItem="Transport Ship Port",
    category="Structures",
    rowGroup="Construction and Warehouses",
    timeMs=12000.0,
    relatedItemTemplate="Transport Ship Port",
    inputs={
      { item="Steel Beams", amount=400 },
      { item="Advanced Machinery Parts", amount=200 },
      { item="Circuit Board", amount=100 },
      { item="Energy Cell", amount=40 },
      { item="Polymer Board", amount=200 },
    },
    outputs={
      { item="Polymer Board", amount=200, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=4000.0, rate=15.0 },
      { crafter="Assembler I", timeMs=12000.0, rate=5.0 },
      { crafter="Assembler II", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler III", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Tropical Rainforest Seed (Plants)"] = {
    name="Tropical Rainforest Seed (Plants)",
    sanitizedName="Tropical Rainforest Seed (Plants)",
    iconItem="Tropical Rainforest Seed (Plants)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Tropical Rainforest Seed (Plants)",
    inputs={
      { item="Tropical Rainforest Seed (Plants)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Water", amount=250.0, percentage=1.0 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Tropical Rainforest Seed (Trees)"] = {
    name="Tropical Rainforest Seed (Trees)",
    sanitizedName="Tropical Rainforest Seed (Trees)",
    iconItem="Tropical Rainforest Seed (Trees)",
    category="Decor",
    rowGroup="Seeds",
    timeMs=300000.0,
    relatedItemTemplate="Tropical Rainforest Seed (Trees)",
    inputs={
      { item="Tropical Rainforest Seed (Trees)", amount=1 },
      { item="Mineral Rocks", amount=1 },
      { item="Water", amount=250.0 },
    },
    outputs={
      { item="Water", amount=250.0, percentage=1.0 },
    },
    tags={ "greenhouse" },
    rates={
      { crafter="Greenhouse", timeMs=300000.0, rate=0.2 },
    }
  },
  ["Steam Turbine"] = {
    name="Steam Turbine",
    sanitizedName="Steam Turbine",
    iconItem="Steam Turbine",
    category="Structures",
    rowGroup="Energy",
    timeMs=8000.0,
    relatedItemTemplate="Steam Turbine",
    inputs={
      { item="Pipe", amount=10 },
      { item="Machinery Parts", amount=40 },
      { item="Steel Beams", amount=25 },
      { item="Electronic Components", amount=25 },
    },
    outputs={
      { item="Electronic Components", amount=25, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=2666.6666666666665, rate=22.5 },
      { crafter="Assembler I", timeMs=8000.0, rate=7.5 },
      { crafter="Assembler II", timeMs=5333.333333333333, rate=11.25 },
      { crafter="Assembler III", timeMs=4000.0, rate=15.0 },
    }
  },
  ["Walkway"] = {
    name="Walkway",
    sanitizedName="Walkway",
    iconItem="Walkway",
    category="Structures",
    rowGroup="Infrastructure",
    timeMs=1500.0,
    relatedItemTemplate="Walkway",
    inputs={
      { item="Xenoferrite Plates", amount=3 },
    },
    outputs={
      { item="Xenoferrite Plates", amount=3, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Wire Coil"] = {
    name="Wire Coil",
    sanitizedName="Wire Coil",
    iconItem="Wire Coil",
    category="Components",
    rowGroup="Electrical Intermediates",
    timeMs=1500.0,
    relatedItemTemplate="",
    inputs={
      { item="Technum Rods", amount=1 },
    },
    outputs={
      { item="Technum Rods", amount=1, percentage=1.0 },
    },
    tags={ "character", "assembler" },
    rates={
      { crafter="character", timeMs=500.0, rate=120.0 },
      { crafter="Assembler I", timeMs=1500.0, rate=40.0 },
      { crafter="Assembler II", timeMs=1000.0, rate=60.0 },
      { crafter="Assembler III", timeMs=750.0, rate=80.0 },
    }
  },
  ["Xenoferrite Plates (Tier 1)"] = {
    name="Xenoferrite Plates (Tier 1)",
    sanitizedName="Xenoferrite Plates (Tier 1)",
    iconItem="Xenoferrite Plates",
    category="Metallurgy",
    rowGroup="Xenoferrite Metallurgy",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Ore Rubble", amount=1 },
    },
    outputs={
      { item="Xenoferrite Ore Rubble", amount=1, percentage=1.0 },
    },
    tags={ "smelter", "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=2000.0, rate=30.0 },
      { crafter="Smelter (Small)", timeMs=3000.0, rate=20.0 },
    }
  },
  ["Xenoferrite Plates"] = {
    name="Xenoferrite Plates",
    sanitizedName="Xenoferrite Plates",
    iconItem="Xenoferrite Plates",
    category="",
    rowGroup="",
    timeMs=3000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Ore Rubble", amount=2 },
    },
    outputs={
      { item="Xenoferrite Ore Rubble", amount=2, percentage=1.0 },
    },
    tags={ "base_station" },
    rates={
    }
  },
  ["Xenoferrite Plates (Tier 2)"] = {
    name="Xenoferrite Plates (Tier 2)",
    sanitizedName="Xenoferrite Plates (Tier 2)",
    iconItem="Xenoferrite Plates",
    category="Metallurgy",
    rowGroup="Xenoferrite Metallurgy",
    timeMs=6000.0,
    relatedItemTemplate="",
    inputs={
      { item="Xenoferrite Ore", amount=2 },
    },
    outputs={
      { item="Xenoferrite Ore", amount=2, percentage=1.0 },
    },
    tags={ "smelter", "advanced_smelter" },
    rates={
      { crafter="Advanced Smelter", timeMs=4000.0, rate=15.0 },
      { crafter="Smelter (Small)", timeMs=6000.0, rate=10.0 },
    }
  },
  ["Xenoferrite Plates (Tier 3)"] = {
    name="Xenoferrite Plates (Tier 3)",
    sanitizedName="Xenoferrite Plates (Tier 3)",
    iconItem="Xenoferrite Plates",
    category="Metallurgy",
    rowGroup="Xenoferrite Metallurgy",
    timeMs=7500.0,
    relatedItemTemplate="",
    inputs={
      { item="Molten Xenoferrite", amount=15.0 },
    },
    outputs={
      { item="Molten Xenoferrite", amount=15.0, percentage=1.0 },
    },
    tags={ "casting_machine" },
    rates={
      { crafter="Casting Machine", timeMs=7500.0, rate=8.0 },
    }
  },
  ["Molten Technum"] = {
    name="Molten Technum",
    sanitizedName="Molten Technum",
    iconItem="Molten Technum",
    category="",
    rowGroup="",
    timeMs=30000,
    relatedItemTemplate="Molten Technum",
    inputs={
      { item="Technum Ore", amount=640 },
      { item="Coked Ignium", amount=320 },
      { item="Mineral Rocks", amount=128 },
    },
    outputs={
      { item="Mineral Rocks", amount=128, percentage=1.0 },
      { item="Mineral Rocks", amount=128, percentage=1.0 },
    },
    tags={ "blast_furnace" },
    rates={
      { crafter="Blast Furnace Base", timeMs=30000, rate=2.0 },
    }
  },
  ["Molten Xenoferrite"] = {
    name="Molten Xenoferrite",
    sanitizedName="Molten Xenoferrite",
    iconItem="Molten Xenoferrite",
    category="",
    rowGroup="",
    timeMs=30000,
    relatedItemTemplate="Molten Xenoferrite",
    inputs={
      { item="Xenoferrite Ore", amount=640 },
      { item="Coked Ignium", amount=320 },
      { item="Mineral Rocks", amount=128 },
    },
    outputs={
      { item="Mineral Rocks", amount=128, percentage=1.0 },
      { item="Mineral Rocks", amount=128, percentage=1.0 },
    },
    tags={ "blast_furnace" },
    rates={
      { crafter="Blast Furnace Base", timeMs=30000, rate=2.0 },
    }
  },
}

local funcs = {}

funcs.recipeRates = function(frame)
	local recipeName = frame.args[1] or ""
  if recipes[recipeName] == nil then
    return recipeName
  end
  
  local recipe = recipes[recipeName]
  local result = [[
{| class="wikitable" style="margin-left:5px;"
|+ Rates
!
]]
  for i,rate in ipairs(recipe.rates) do
    if rate.crafter == "character" then
      result = result..'! Character\n'
    else
      result = result..'! '..frame:expandTemplate{ title = 'ItemLink', args = {rate.crafter}}..'\n'
    end
  end
  result = result..[[
|-
! style="text-align:left" scope=row| Time per craft
]]
  for i,rate in ipairs(recipe.rates) do
    result = result..string.format('| style="text-align:center"| %0.2f s\n', rate.timeMs/1000)
  end
  result = result..'|}'
  return result
end

return funcs