diff --git a/.gitignore b/.gitignore index d0109dbe3..d43b6ebc5 100644 --- a/.gitignore +++ b/.gitignore @@ -92,3 +92,4 @@ jarmods/ visualores/ *__pycache__* +servers.dat diff --git a/config/betterquesting.cfg b/config/betterquesting.cfg index 99e4cf137..d94fe6af1 100644 --- a/config/betterquesting.cfg +++ b/config/betterquesting.cfg @@ -24,8 +24,6 @@ general { # Increases or decreases the scrolling speed [range: 0.0 ~ 10.0, default: 1.0] S:"Scroll Speed Multiplier"=1.0 - - # If true, skip the home GUI and open quests at startup. This property will be changed by the mod itself. [default: false] B:"Skip Home"=true # If true, then the player will spawn with a Quest Book when they first join the world [default: true] diff --git a/config/betterquesting/DefaultQuests/QuestLines/1.json b/config/betterquesting/DefaultQuests/QuestLines/1.json index 6ff7c090b..1aad1a436 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/1.json +++ b/config/betterquesting/DefaultQuests/QuestLines/1.json @@ -72,7 +72,7 @@ "id:3": 32, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -174, + "x:3": -252, "y:3": -12 }, "9:10": { @@ -86,8 +86,8 @@ "id:3": 34, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -174, - "y:3": 96 + "x:3": -204, + "y:3": 36 }, "11:10": { "id:3": 35, @@ -128,15 +128,15 @@ "id:3": 42, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -228, - "y:3": -12 + "x:3": -300, + "y:3": 36 }, "17:10": { "id:3": 43, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -174, - "y:3": 144 + "x:3": -252, + "y:3": 84 }, "18:10": { "id:3": 44, @@ -199,7 +199,7 @@ "sizeX:3": 48, "sizeY:3": 48, "x:3": -312, - "y:3": 132 + "y:3": 72 }, "27:10": { "id:3": 55, @@ -310,22 +310,22 @@ "id:3": 77, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -228, - "y:3": 96 + "x:3": -348, + "y:3": 36 }, "43:10": { "id:3": 78, - "sizeX:3": 48, - "sizeY:3": 48, - "x:3": -240, - "y:3": 132 + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -348, + "y:3": 84 }, "44:10": { "id:3": 79, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -228, - "y:3": 48 + "x:3": -300, + "y:3": -12 }, "45:10": { "id:3": 94, @@ -429,15 +429,15 @@ "id:3": 518, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -175, - "y:3": -72 + "x:3": -252, + "y:3": -60 }, "60:10": { "id:3": 535, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -228, - "y:3": -72 + "x:3": -204, + "y:3": -60 }, "61:10": { "id:3": 536, @@ -494,6 +494,13 @@ "sizeY:3": 24, "x:3": 12, "y:3": 144 + }, + "69:10": { + "id:3": 1458175841, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -252, + "y:3": 36 } } } \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/QuestLines/2.json b/config/betterquesting/DefaultQuests/QuestLines/2.json index 3651b15d8..efa597c7f 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/2.json +++ b/config/betterquesting/DefaultQuests/QuestLines/2.json @@ -272,608 +272,559 @@ "y:3": 78 }, "37:10": { - "id:3": 172, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": -300, - "y:3": 270 - }, - "38:10": { - "id:3": 173, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": -300, - "y:3": 318 - }, - "39:10": { "id:3": 174, - "sizeX:3": 36, - "sizeY:3": 36, - "x:3": -348, - "y:3": 402 - }, - "40:10": { - "id:3": 175, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": -300, - "y:3": 366 - }, - "41:10": { - "id:3": 178, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -300, - "y:3": 408 - }, - "42:10": { - "id:3": 179, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": -342, - "y:3": 366 - }, - "43:10": { - "id:3": 180, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": -300, - "y:3": 456 - }, - "44:10": { - "id:3": 181, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": -300, - "y:3": 504 + "x:3": 114, + "y:3": 522 }, - "45:10": { + "38:10": { "id:3": 183, "sizeX:3": 24, "sizeY:3": 24, "x:3": -60, "y:3": 378 }, - "46:10": { + "39:10": { "id:3": 184, "sizeX:3": 24, "sizeY:3": 24, "x:3": -12, "y:3": 378 }, - "47:10": { + "40:10": { "id:3": 185, "sizeX:3": 24, "sizeY:3": 24, "x:3": -12, "y:3": 426 }, - "48:10": { + "41:10": { "id:3": 186, "sizeX:3": 24, "sizeY:3": 24, "x:3": -48, "y:3": 114 }, - "49:10": { + "42:10": { "id:3": 188, "sizeX:3": 48, "sizeY:3": 48, "x:3": 160, "y:3": 463 }, - "50:10": { + "43:10": { "id:3": 189, "sizeX:3": 24, "sizeY:3": 24, "x:3": -12, "y:3": 475 }, - "51:10": { + "44:10": { "id:3": 190, "sizeX:3": 24, "sizeY:3": 24, "x:3": 78, "y:3": 475 }, - "52:10": { + "45:10": { "id:3": 191, "sizeX:3": 48, "sizeY:3": 48, "x:3": -216, "y:3": 36 }, - "53:10": { + "46:10": { "id:3": 192, "sizeX:3": 24, "sizeY:3": 24, "x:3": -252, "y:3": 48 }, - "54:10": { + "47:10": { "id:3": 193, "sizeX:3": 24, "sizeY:3": 24, "x:3": -300, "y:3": 48 }, - "55:10": { + "48:10": { "id:3": 194, "sizeX:3": 24, "sizeY:3": 24, "x:3": -336, "y:3": 24 }, - "56:10": { + "49:10": { "id:3": 195, "sizeX:3": 24, "sizeY:3": 24, "x:3": -336, "y:3": 72 }, - "57:10": { + "50:10": { "id:3": 196, "sizeX:3": 24, "sizeY:3": 24, "x:3": -240, "y:3": -24 }, - "58:10": { + "51:10": { "id:3": 197, "sizeX:3": 24, "sizeY:3": 24, "x:3": -252, "y:3": 12 }, - "59:10": { + "52:10": { "id:3": 198, "sizeX:3": 24, "sizeY:3": 24, "x:3": 48, "y:3": 336 }, - "60:10": { + "53:10": { "id:3": 199, "sizeX:3": 24, "sizeY:3": 24, "x:3": 128, "y:3": 336 }, - "61:10": { + "54:10": { "id:3": 200, "sizeX:3": 24, "sizeY:3": 24, "x:3": 24, "y:3": 378 }, - "62:10": { + "55:10": { "id:3": 201, "sizeX:3": 24, "sizeY:3": 24, "x:3": 78, "y:3": 427 }, - "63:10": { + "56:10": { "id:3": 202, "sizeX:3": 24, "sizeY:3": 24, "x:3": 78, "y:3": 378 }, - "64:10": { + "57:10": { "id:3": 203, "sizeX:3": 48, "sizeY:3": 48, "x:3": 162, "y:3": 366 }, - "65:10": { + "58:10": { "id:3": 204, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": 114 }, - "66:10": { + "59:10": { "id:3": 205, "sizeX:3": 24, "sizeY:3": 24, "x:3": 90, "y:3": 108 }, - "67:10": { + "60:10": { "id:3": 221, "sizeX:3": 24, "sizeY:3": 24, "x:3": -204, "y:3": 432 }, - "68:10": { + "61:10": { "id:3": 222, "sizeX:3": 24, "sizeY:3": 24, "x:3": -204, "y:3": 468 }, - "69:10": { + "62:10": { "id:3": 223, "sizeX:3": 24, "sizeY:3": 24, "x:3": 132, "y:3": 174 }, - "70:10": { + "63:10": { "id:3": 224, "sizeX:3": 24, "sizeY:3": 24, "x:3": -186, "y:3": 270 }, - "71:10": { + "64:10": { "id:3": 236, "sizeX:3": 24, "sizeY:3": 24, "x:3": -102, "y:3": 426 }, - "72:10": { + "65:10": { "id:3": 239, "sizeX:3": 24, "sizeY:3": 24, "x:3": -12, "y:3": 558 }, - "73:10": { + "66:10": { "id:3": 240, "sizeX:3": 24, "sizeY:3": 24, "x:3": 114, "y:3": 558 }, - "74:10": { + "67:10": { "id:3": 241, "sizeX:3": 24, "sizeY:3": 24, "x:3": 78, "y:3": 558 }, - "75:10": { + "68:10": { "id:3": 242, "sizeX:3": 48, "sizeY:3": 48, "x:3": 18, "y:3": 546 }, - "76:10": { + "69:10": { "id:3": 243, "sizeX:3": 48, "sizeY:3": 48, "x:3": 18, "y:3": 624 }, - "77:10": { + "70:10": { "id:3": 368, "sizeX:3": 24, "sizeY:3": 24, "x:3": -102, "y:3": 468 }, - "78:10": { + "71:10": { "id:3": 369, "sizeX:3": 48, "sizeY:3": 48, "x:3": -216, "y:3": 504 }, - "79:10": { + "72:10": { "id:3": 372, "sizeX:3": 24, "sizeY:3": 24, "x:3": 172, "y:3": 427 }, - "80:10": { + "73:10": { "id:3": 377, "sizeX:3": 48, "sizeY:3": 48, "x:3": 132, "y:3": -102 }, - "81:10": { + "74:10": { "id:3": 378, "sizeX:3": 48, "sizeY:3": 48, "x:3": -12, "y:3": -102 }, - "82:10": { + "75:10": { "id:3": 379, "sizeX:3": 48, "sizeY:3": 48, "x:3": 60, "y:3": -102 }, - "83:10": { + "76:10": { "id:3": 380, "sizeX:3": 40, "sizeY:3": 40, "x:3": 172, "y:3": 52 }, - "84:10": { + "77:10": { "id:3": 381, "sizeX:3": 24, "sizeY:3": 24, "x:3": -144, "y:3": 324 }, - "85:10": { + "78:10": { "id:3": 383, "sizeX:3": 40, "sizeY:3": 40, "x:3": 229, "y:3": 52 }, - "86:10": { + "79:10": { "id:3": 384, "sizeX:3": 24, "sizeY:3": 24, "x:3": -168, "y:3": -12 }, - "87:10": { + "80:10": { "id:3": 385, "sizeX:3": 24, "sizeY:3": 24, "x:3": -132, "y:3": -36 }, - "88:10": { + "81:10": { "id:3": 386, "sizeX:3": 24, "sizeY:3": 24, "x:3": -132, "y:3": 12 }, - "89:10": { + "82:10": { "id:3": 387, "sizeX:3": 24, "sizeY:3": 24, "x:3": 180, "y:3": 12 }, - "90:10": { + "83:10": { "id:3": 388, "sizeX:3": 24, "sizeY:3": 24, "x:3": 168, "y:3": 156 }, - "91:10": { + "84:10": { "id:3": 418, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": -42 }, - "92:10": { + "85:10": { "id:3": 419, "sizeX:3": 34, "sizeY:3": 34, "x:3": -16, "y:3": -12 }, - "93:10": { + "86:10": { "id:3": 420, "sizeX:3": 36, "sizeY:3": 36, "x:3": 66, "y:3": -6 }, - "94:10": { + "87:10": { "id:3": 421, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": 0 }, - "95:10": { + "88:10": { "id:3": 438, "sizeX:3": 36, "sizeY:3": 36, "x:3": -156, "y:3": 510 }, - "96:10": { + "89:10": { "id:3": 439, "sizeX:3": 24, "sizeY:3": 24, "x:3": -54, "y:3": -90 }, - "97:10": { + "90:10": { "id:3": 440, "sizeX:3": 24, "sizeY:3": 24, "x:3": 72, "y:3": -42 }, - "98:10": { + "91:10": { "id:3": 446, "sizeX:3": 24, "sizeY:3": 24, "x:3": 78, "y:3": 594 }, - "99:10": { + "92:10": { "id:3": 447, "sizeX:3": 24, "sizeY:3": 24, "x:3": 114, "y:3": 594 }, - "100:10": { + "93:10": { "id:3": 472, "sizeX:3": 24, "sizeY:3": 24, "x:3": -222, "y:3": 270 }, - "101:10": { + "94:10": { "id:3": 473, "sizeX:3": 24, "sizeY:3": 24, "x:3": 276, "y:3": 522 }, - "102:10": { + "95:10": { "id:3": 474, "sizeX:3": 24, "sizeY:3": 24, "x:3": 276, "y:3": 426 }, - "103:10": { + "96:10": { "id:3": 500, "sizeX:3": 24, "sizeY:3": 24, "x:3": 72, "y:3": 288 }, - "104:10": { + "97:10": { "id:3": 517, "sizeX:3": 24, "sizeY:3": 24, "x:3": 276, "y:3": 474 }, - "105:10": { + "98:10": { "id:3": 602, "sizeX:3": 24, "sizeY:3": 24, "x:3": -60, "y:3": 324 }, - "106:10": { + "99:10": { "id:3": 603, "sizeX:3": 24, "sizeY:3": 24, "x:3": 132, "y:3": 6 }, - "107:10": { + "100:10": { "id:3": 604, "sizeX:3": 24, "sizeY:3": 24, "x:3": 24, "y:3": 252 }, - "108:10": { + "101:10": { "id:3": 610, "sizeX:3": 24, "sizeY:3": 24, "x:3": -150, "y:3": 468 }, - "109:10": { + "102:10": { "id:3": 631, "sizeX:3": 24, "sizeY:3": 24, "x:3": -156, "y:3": 48 }, - "110:10": { + "103:10": { "id:3": 638, "sizeX:3": 36, "sizeY:3": 36, "x:3": -306, - "y:3": 540 + "y:3": 318 }, - "111:10": { + "104:10": { "id:3": 657, "sizeX:3": 48, "sizeY:3": 48, "x:3": 216, "y:3": 144 }, - "112:10": { + "105:10": { "id:3": 658, "sizeX:3": 24, "sizeY:3": 24, "x:3": -54, "y:3": 78 }, - "113:10": { + "106:10": { "id:3": 660, "sizeX:3": 24, "sizeY:3": 24, "x:3": 24, "y:3": 288 }, - "114:10": { + "107:10": { "id:3": 661, "sizeX:3": 48, "sizeY:3": 48, "x:3": 222, "y:3": 462 }, - "115:10": { + "108:10": { "id:3": 666, "sizeX:3": 24, "sizeY:3": 24, "x:3": 30, "y:3": 42 }, - "116:10": { + "109:10": { "id:3": 667, "sizeX:3": 24, "sizeY:3": 24, "x:3": -54, "y:3": 42 }, - "117:10": { + "110:10": { "id:3": 682, "sizeX:3": 24, "sizeY:3": 24, "x:3": 204, "y:3": -90 }, - "118:10": { + "111:10": { "id:3": 684, "sizeX:3": 24, "sizeY:3": 24, "x:3": 156, "y:3": 558 }, - "119:10": { + "112:10": { "id:3": 712, "sizeX:3": 24, "sizeY:3": 24, "x:3": -180, "y:3": 96 }, - "120:10": { + "113:10": { "id:3": 721, "sizeX:3": 24, "sizeY:3": 24, "x:3": -228, "y:3": 96 }, - "121:10": { + "114:10": { "id:3": 725, "sizeX:3": 24, "sizeY:3": 24, "x:3": -204, "y:3": -36 }, - "122:10": { + "115:10": { "id:3": 740, "sizeX:3": 24, "sizeY:3": 24, "x:3": -252, "y:3": 468 }, - "123:10": { + "116:10": { "id:3": 742, "sizeX:3": 36, "sizeY:3": 36, diff --git a/config/betterquesting/DefaultQuests/QuestLines/27.json b/config/betterquesting/DefaultQuests/QuestLines/27.json index 611c9c421..f760e020f 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/27.json +++ b/config/betterquesting/DefaultQuests/QuestLines/27.json @@ -151,6 +151,13 @@ "sizeY:3": 24, "x:3": 384, "y:3": 96 + }, + "20:10": { + "id:3": 1997511526, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 264, + "y:3": 0 } } } \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/QuestLines/3.json b/config/betterquesting/DefaultQuests/QuestLines/3.json index 4e258d27a..b9ee729ee 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/3.json +++ b/config/betterquesting/DefaultQuests/QuestLines/3.json @@ -51,8 +51,8 @@ "id:3": 371, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 108, - "y:3": 234 + "x:3": 408, + "y:3": 72 }, "6:10": { "id:3": 373, @@ -72,15 +72,15 @@ "id:3": 391, "sizeX:3": 48, "sizeY:3": 48, - "x:3": 498, - "y:3": 60 + "x:3": 492, + "y:3": 108 }, "9:10": { "id:3": 393, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": -126, - "y:3": 306 + "sizeX:3": 36, + "sizeY:3": 36, + "x:3": 114, + "y:3": 300 }, "10:10": { "id:3": 394, @@ -93,29 +93,29 @@ "id:3": 395, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 456, - "y:3": 198 + "x:3": 504, + "y:3": 306 }, "12:10": { "id:3": 396, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 456, - "y:3": 156 + "x:3": 570, + "y:3": 306 }, "13:10": { "id:3": 397, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 456, - "y:3": 114 + "x:3": 570, + "y:3": 258 }, "14:10": { "id:3": 398, "sizeX:3": 36, "sizeY:3": 36, - "x:3": 450, - "y:3": 66 + "x:3": 498, + "y:3": 252 }, "15:10": { "id:3": 399, @@ -177,28 +177,28 @@ "id:3": 412, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 456, - "y:3": -24 + "x:3": 318, + "y:3": 234 }, "24:10": { "id:3": 413, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 456, - "y:3": -60 + "x:3": 276, + "y:3": 234 }, "25:10": { "id:3": 415, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -78, - "y:3": 354 + "x:3": 120, + "y:3": 270 }, "26:10": { "id:3": 417, "sizeX:3": 36, "sizeY:3": 36, - "x:3": -84, + "x:3": 66, "y:3": 300 }, "27:10": { @@ -223,823 +223,683 @@ "y:3": -102 }, "30:10": { - "id:3": 443, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 234, - "y:3": 12 - }, - "31:10": { "id:3": 450, "sizeX:3": 36, "sizeY:3": 36, "x:3": 18, "y:3": 66 }, - "32:10": { + "31:10": { "id:3": 451, "sizeX:3": 24, "sizeY:3": 24, "x:3": 234, "y:3": -36 }, - "33:10": { - "id:3": 452, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 264, - "y:3": 72 - }, - "34:10": { - "id:3": 453, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 264, - "y:3": 42 - }, - "35:10": { - "id:3": 454, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 294, - "y:3": 12 - }, - "36:10": { - "id:3": 455, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 264, - "y:3": 12 - }, - "37:10": { - "id:3": 456, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 216, - "y:3": 132 - }, - "38:10": { - "id:3": 457, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 180, - "y:3": 132 - }, - "39:10": { - "id:3": 458, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 144, - "y:3": 132 - }, - "40:10": { + "32:10": { "id:3": 459, "sizeX:3": 24, "sizeY:3": 24, "x:3": 108, "y:3": 114 }, - "41:10": { + "33:10": { "id:3": 460, "sizeX:3": 24, "sizeY:3": 24, "x:3": 72, "y:3": 114 }, - "42:10": { + "34:10": { "id:3": 461, "sizeX:3": 24, "sizeY:3": 24, "x:3": 72, "y:3": 150 }, - "43:10": { + "35:10": { "id:3": 462, "sizeX:3": 24, "sizeY:3": 24, "x:3": 108, "y:3": 150 }, - "44:10": { + "36:10": { "id:3": 463, "sizeX:3": 24, "sizeY:3": 24, "x:3": 186, "y:3": -78 }, - "45:10": { + "37:10": { "id:3": 464, "sizeX:3": 24, "sizeY:3": 24, "x:3": 234, "y:3": -78 }, - "46:10": { + "38:10": { "id:3": 466, "sizeX:3": 36, "sizeY:3": 36, "x:3": 180, "y:3": -42 }, - "47:10": { + "39:10": { "id:3": 467, "sizeX:3": 36, "sizeY:3": 36, - "x:3": 216, - "y:3": 180 + "x:3": 360, + "y:3": 198 }, - "48:10": { + "40:10": { "id:3": 468, "sizeX:3": 24, "sizeY:3": 24, "x:3": -30, "y:3": 12 }, - "49:10": { + "41:10": { "id:3": 469, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": 36 }, - "50:10": { + "42:10": { "id:3": 470, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": -12 }, - "51:10": { + "43:10": { "id:3": 471, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": 12 }, - "52:10": { + "44:10": { "id:3": 475, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 174, - "y:3": 252 + "x:3": 450, + "y:3": 162 }, - "53:10": { + "45:10": { "id:3": 476, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 108, - "y:3": 186 + "x:3": 366, + "y:3": 72 }, - "54:10": { + "46:10": { "id:3": 477, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 72, - "y:3": 186 + "x:3": 408, + "y:3": 120 }, - "55:10": { + "47:10": { "id:3": 478, "sizeX:3": 36, "sizeY:3": 36, - "x:3": 168, - "y:3": 180 + "x:3": 312, + "y:3": 66 }, - "56:10": { + "48:10": { "id:3": 479, "sizeX:3": 48, "sizeY:3": 48, "x:3": -42, "y:3": -174 }, - "57:10": { + "49:10": { "id:3": 480, "sizeX:3": 36, "sizeY:3": 36, - "x:3": 216, - "y:3": 246 + "x:3": 312, + "y:3": -120 }, - "58:10": { + "50:10": { "id:3": 481, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 414, - "y:3": 72 + "x:3": 504, + "y:3": 18 }, - "59:10": { + "51:10": { "id:3": 482, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 612, + "x:3": 618, "y:3": 114 }, - "60:10": { + "52:10": { "id:3": 483, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 564, + "x:3": 570, "y:3": 162 }, - "61:10": { + "53:10": { "id:3": 484, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 564, + "x:3": 570, "y:3": 114 }, - "62:10": { + "54:10": { "id:3": 485, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 612, + "x:3": 618, "y:3": 162 }, - "63:10": { + "55:10": { "id:3": 486, "sizeX:3": 36, "sizeY:3": 36, - "x:3": 558, + "x:3": 564, "y:3": 66 }, - "64:10": { + "56:10": { "id:3": 487, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 612, - "y:3": 72 - }, - "65:10": { - "id:3": 488, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 366, + "x:3": 618, "y:3": 72 }, - "66:10": { - "id:3": 489, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 414, - "y:3": 270 - }, - "67:10": { - "id:3": 490, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 414, - "y:3": 234 - }, - "68:10": { - "id:3": 491, - "sizeX:3": 36, - "sizeY:3": 36, - "x:3": 360, - "y:3": 246 - }, - "69:10": { + "57:10": { "id:3": 492, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 276, - "y:3": 252 - }, - "70:10": { - "id:3": 493, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 312, - "y:3": 252 - }, - "71:10": { - "id:3": 494, - "sizeX:3": 48, - "sizeY:3": 48, - "x:3": 282, - "y:3": 294 - }, - "72:10": { - "id:3": 495, - "sizeX:3": 48, - "sizeY:3": 48, - "x:3": 354, - "y:3": 294 + "x:3": 408, + "y:3": 204 }, - "73:10": { + "58:10": { "id:3": 496, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 162, - "y:3": 306 - }, - "74:10": { - "id:3": 497, - "sizeX:3": 48, - "sizeY:3": 48, - "x:3": 210, - "y:3": 294 + "x:3": 234, + "y:3": 162 }, - "75:10": { + "59:10": { "id:3": 498, "sizeX:3": 36, "sizeY:3": 36, "x:3": -36, "y:3": -222 }, - "76:10": { + "60:10": { "id:3": 499, "sizeX:3": 24, "sizeY:3": 24, "x:3": 84, "y:3": -216 }, - "77:10": { + "61:10": { "id:3": 500, "sizeX:3": 24, "sizeY:3": 24, "x:3": 42, "y:3": -216 }, - "78:10": { + "62:10": { "id:3": 501, "sizeX:3": 24, "sizeY:3": 24, "x:3": 96, "y:3": -162 }, - "79:10": { + "63:10": { "id:3": 502, "sizeX:3": 48, "sizeY:3": 48, "x:3": 30, "y:3": -174 }, - "80:10": { + "64:10": { "id:3": 503, "sizeX:3": 24, "sizeY:3": 24, "x:3": 42, "y:3": -258 }, - "81:10": { + "65:10": { "id:3": 504, "sizeX:3": 24, "sizeY:3": 24, "x:3": 42, "y:3": -300 }, - "82:10": { + "66:10": { "id:3": 505, "sizeX:3": 24, "sizeY:3": 24, "x:3": 96, "y:3": -78 }, - "83:10": { + "67:10": { "id:3": 506, "sizeX:3": 36, "sizeY:3": 36, "x:3": 138, "y:3": -168 }, - "84:10": { + "68:10": { "id:3": 507, "sizeX:3": 36, "sizeY:3": 36, "x:3": 138, "y:3": -42 }, - "85:10": { + "69:10": { "id:3": 508, "sizeX:3": 24, "sizeY:3": 24, "x:3": 144, "y:3": -78 }, - "86:10": { + "70:10": { "id:3": 509, "sizeX:3": 24, "sizeY:3": 24, "x:3": 144, "y:3": -114 }, - "87:10": { + "71:10": { "id:3": 510, "sizeX:3": 36, "sizeY:3": 36, "x:3": 18, "y:3": 228 }, - "88:10": { + "72:10": { "id:3": 511, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 24, - "y:3": 306 + "x:3": 120, + "y:3": 234 }, - "89:10": { + "73:10": { "id:3": 512, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 66, - "y:3": 306 + "x:3": 156, + "y:3": 234 }, - "90:10": { + "74:10": { "id:3": 513, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 114, - "y:3": 282 + "x:3": 156, + "y:3": 174 }, - "91:10": { + "75:10": { "id:3": 514, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 114, - "y:3": 330 + "x:3": 156, + "y:3": 150 }, - "92:10": { + "76:10": { "id:3": 515, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 0, + "x:3": 72, "y:3": 192 }, - "93:10": { + "77:10": { "id:3": 537, "sizeX:3": 24, "sizeY:3": 24, "x:3": -30, "y:3": -48 }, - "94:10": { + "78:10": { "id:3": 538, "sizeX:3": 24, "sizeY:3": 24, "x:3": -30, "y:3": -84 }, - "95:10": { + "79:10": { "id:3": 545, "sizeX:3": 24, "sizeY:3": 24, "x:3": -30, "y:3": 234 }, - "96:10": { + "80:10": { "id:3": 552, "sizeX:3": 36, "sizeY:3": 36, - "x:3": -132, - "y:3": 228 + "x:3": -84, + "y:3": 294 }, - "97:10": { + "81:10": { "id:3": 570, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -174, - "y:3": 234 + "x:3": -30, + "y:3": 300 }, - "98:10": { + "82:10": { "id:3": 592, "sizeX:3": 24, "sizeY:3": 24, "x:3": 144, "y:3": 42 }, - "99:10": { + "83:10": { "id:3": 593, "sizeX:3": 48, "sizeY:3": 48, "x:3": -90, "y:3": 66 }, - "100:10": { + "84:10": { "id:3": 594, "sizeX:3": 24, "sizeY:3": 24, "x:3": -120, "y:3": 120 }, - "101:10": { + "85:10": { "id:3": 595, "sizeX:3": 24, "sizeY:3": 24, "x:3": -36, "y:3": 120 }, - "102:10": { + "86:10": { "id:3": 596, "sizeX:3": 24, "sizeY:3": 24, "x:3": -102, "y:3": 156 }, - "103:10": { + "87:10": { "id:3": 597, "sizeX:3": 24, "sizeY:3": 24, "x:3": -54, "y:3": 156 }, - "104:10": { + "88:10": { "id:3": 598, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 72, - "y:3": 235 + "x:3": 450, + "y:3": 120 }, - "105:10": { + "89:10": { "id:3": 599, "sizeX:3": 36, "sizeY:3": 36, "x:3": 90, "y:3": -42 }, - "106:10": { + "90:10": { "id:3": 611, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": 192 }, - "107:10": { + "91:10": { "id:3": 612, "sizeX:3": 24, "sizeY:3": 24, "x:3": -30, "y:3": 192 }, - "108:10": { + "92:10": { "id:3": 613, "sizeX:3": 24, "sizeY:3": 24, "x:3": -126, "y:3": 192 }, - "109:10": { + "93:10": { "id:3": 639, "sizeX:3": 36, "sizeY:3": 36, "x:3": -132, "y:3": 6 }, - "110:10": { + "94:10": { "id:3": 640, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 414, - "y:3": 24 + "x:3": 318, + "y:3": 270 }, - "111:10": { + "95:10": { "id:3": 651, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -30, + "x:3": 24, "y:3": 270 }, - "112:10": { + "96:10": { "id:3": 652, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 564, + "x:3": 618, "y:3": 210 }, - "113:10": { + "97:10": { "id:3": 653, "sizeX:3": 24, "sizeY:3": 24, "x:3": -30, "y:3": -258 }, - "114:10": { + "98:10": { "id:3": 654, "sizeX:3": 36, "sizeY:3": 36, - "x:3": 450, - "y:3": 18 + "x:3": 360, + "y:3": 252 }, - "115:10": { + "99:10": { "id:3": 655, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 456, - "y:3": -96 + "x:3": 276, + "y:3": 270 }, - "116:10": { + "100:10": { "id:3": 659, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 498, - "y:3": 156 + "x:3": 618, + "y:3": 258 }, - "117:10": { + "101:10": { "id:3": 665, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -30, - "y:3": 306 + "x:3": 72, + "y:3": 270 }, - "118:10": { + "102:10": { "id:3": 671, "sizeX:3": 24, "sizeY:3": 24, "x:3": 174, "y:3": 12 }, - "119:10": { + "103:10": { "id:3": 685, "sizeX:3": 24, "sizeY:3": 24, "x:3": 96, "y:3": -114 }, - "120:10": { + "104:10": { "id:3": 686, "sizeX:3": 24, "sizeY:3": 24, "x:3": 270, "y:3": -216 }, - "121:10": { + "105:10": { + "id:3": 698, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 276, + "y:3": 72 + }, + "106:10": { "id:3": 719, "sizeX:3": 36, "sizeY:3": 36, "x:3": -84, "y:3": 228 }, - "122:10": { + "107:10": { "id:3": 726, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": -114 }, - "123:10": { + "108:10": { "id:3": 727, "sizeX:3": 36, "sizeY:3": 36, "x:3": -132, "y:3": -90 }, - "124:10": { + "109:10": { "id:3": 728, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": -84 }, - "125:10": { + "110:10": { "id:3": 729, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": -48 }, - "126:10": { + "111:10": { "id:3": 730, "sizeX:3": 24, "sizeY:3": 24, "x:3": -174, "y:3": -84 }, - "127:10": { + "112:10": { "id:3": 731, "sizeX:3": 24, "sizeY:3": 24, "x:3": -174, "y:3": -120 }, - "128:10": { + "113:10": { "id:3": 732, "sizeX:3": 24, "sizeY:3": 24, "x:3": -216, "y:3": -48 }, - "129:10": { + "114:10": { "id:3": 733, "sizeX:3": 24, "sizeY:3": 24, "x:3": -174, "y:3": -48 }, - "130:10": { + "115:10": { "id:3": 735, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 498, - "y:3": 114 + "x:3": 570, + "y:3": 210 }, - "131:10": { + "116:10": { "id:3": 741, - "sizeX:3": 48, - "sizeY:3": 48, - "x:3": 210, - "y:3": 366 + "sizeX:3": 36, + "sizeY:3": 36, + "x:3": 312, + "y:3": -42 }, - "132:10": { + "117:10": { "id:3": 764, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -78, - "y:3": 270 - }, - "133:10": { - "id:3": 863, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 264, - "y:3": 192 - }, - "134:10": { - "id:3": 864, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 414, - "y:3": 156 - }, - "135:10": { - "id:3": 865, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 414, - "y:3": 108 - }, - "136:10": { - "id:3": 866, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 264, - "y:3": 132 - }, - "137:10": { - "id:3": 867, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 294, - "y:3": 102 + "x:3": 24, + "y:3": 306 }, - "138:10": { - "id:3": 868, + "118:10": { + "id:3": 877, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 294, - "y:3": 162 + "x:3": 234, + "y:3": 72 }, - "139:10": { - "id:3": 869, + "119:10": { + "id:3": 880, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 324, - "y:3": 192 + "x:3": 204, + "y:3": 72 }, - "140:10": { - "id:3": 870, + "120:10": { + "id:3": 881, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 324, + "x:3": 204, "y:3": 12 }, - "141:10": { - "id:3": 871, + "121:10": { + "id:3": 254727108, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 294, - "y:3": 42 + "x:3": 366, + "y:3": 120 }, - "142:10": { - "id:3": 872, + "122:10": { + "id:3": 409196029, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 324, - "y:3": 132 + "x:3": 318, + "y:3": 120 }, - "143:10": { - "id:3": 873, + "123:10": { + "id:3": 498154717, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 324, - "y:3": 42 + "x:3": 276, + "y:3": 162 }, - "144:10": { - "id:3": 877, + "124:10": { + "id:3": 1090881854, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 234, - "y:3": 72 + "x:3": 408, + "y:3": 162 }, - "145:10": { - "id:3": 880, + "125:10": { + "id:3": 1402916517, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 204, - "y:3": 72 + "x:3": 318, + "y:3": 18 }, - "146:10": { - "id:3": 881, + "126:10": { + "id:3": 1786950658, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 204, - "y:3": 12 + "x:3": 276, + "y:3": 18 } } } \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/QuestLines/4.json b/config/betterquesting/DefaultQuests/QuestLines/4.json index b35f24366..45c812d55 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/4.json +++ b/config/betterquesting/DefaultQuests/QuestLines/4.json @@ -13,487 +13,809 @@ }, "quests:9": { "0:10": { + "id:3": 172, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -132, + "y:3": 162 + }, + "1:10": { + "id:3": 173, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -132, + "y:3": 126 + }, + "2:10": { + "id:3": 175, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -96, + "y:3": 126 + }, + "3:10": { + "id:3": 178, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -60, + "y:3": 90 + }, + "4:10": { + "id:3": 179, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -96, + "y:3": 162 + }, + "5:10": { + "id:3": 180, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -96, + "y:3": 90 + }, + "6:10": { + "id:3": 181, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -132, + "y:3": 90 + }, + "7:10": { + "id:3": 443, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 444, + "y:3": -222 + }, + "8:10": { + "id:3": 452, + "sizeX:3": 36, + "sizeY:3": 36, + "x:3": 438, + "y:3": -30 + }, + "9:10": { + "id:3": 453, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 444, + "y:3": -150 + }, + "10:10": { + "id:3": 454, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 408, + "y:3": -186 + }, + "11:10": { + "id:3": 455, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 444, + "y:3": -186 + }, + "12:10": { + "id:3": 456, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 444, + "y:3": 42 + }, + "13:10": { + "id:3": 457, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 444, + "y:3": 78 + }, + "14:10": { + "id:3": 458, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 372, + "y:3": 78 + }, + "15:10": { "id:3": 479, "sizeX:3": 48, "sizeY:3": 48, "x:3": 48, - "y:3": 102 + "y:3": 78 }, - "1:10": { + "16:10": { + "id:3": 480, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 336, + "y:3": 150 + }, + "17:10": { + "id:3": 481, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 372, + "y:3": 42 + }, + "18:10": { + "id:3": 488, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 408, + "y:3": 42 + }, + "19:10": { + "id:3": 489, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 480, + "y:3": 150 + }, + "20:10": { + "id:3": 490, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 444, + "y:3": 150 + }, + "21:10": { + "id:3": 491, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 408, + "y:3": 150 + }, + "22:10": { + "id:3": 494, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 336, + "y:3": 78 + }, + "23:10": { + "id:3": 495, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 300, + "y:3": 150 + }, + "24:10": { + "id:3": 497, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 300, + "y:3": 114 + }, + "25:10": { "id:3": 516, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -252, - "y:3": -180 + "x:3": 264, + "y:3": -150 }, - "2:10": { + "26:10": { "id:3": 519, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -216, - "y:3": -180 + "x:3": 228, + "y:3": -150 }, - "3:10": { + "27:10": { "id:3": 520, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -180, - "y:3": -180 + "x:3": 228, + "y:3": -186 }, - "4:10": { + "28:10": { "id:3": 550, "sizeX:3": 48, "sizeY:3": 48, - "x:3": -216, - "y:3": 198 + "x:3": -132, + "y:3": 234 }, - "5:10": { + "29:10": { "id:3": 614, "sizeX:3": 24, "sizeY:3": 24, "x:3": 60, - "y:3": 0 + "y:3": 6 }, - "6:10": { + "30:10": { "id:3": 620, "sizeX:3": 48, "sizeY:3": 48, "x:3": 48, - "y:3": -96 + "y:3": 138 }, - "7:10": { + "31:10": { "id:3": 621, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 12, - "y:3": -84 + "x:3": 78, + "y:3": 198 }, - "8:10": { + "32:10": { "id:3": 622, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 168, - "y:3": 0 + "x:3": 192, + "y:3": 6 }, - "9:10": { + "33:10": { "id:3": 623, "sizeX:3": 24, "sizeY:3": 24, "x:3": 60, - "y:3": 48 + "y:3": 42 }, - "10:10": { + "34:10": { "id:3": 624, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 222, - "y:3": 0 + "x:3": 126, + "y:3": 6 }, - "11:10": { + "35:10": { "id:3": 625, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 288, - "y:3": -30 + "x:3": 126, + "y:3": -24 }, - "12:10": { + "36:10": { "id:3": 626, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 258, - "y:3": 0 + "x:3": 156, + "y:3": -24 }, - "13:10": { + "37:10": { "id:3": 627, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 258, - "y:3": -30 + "x:3": 96, + "y:3": -24 }, - "14:10": { + "38:10": { "id:3": 628, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 258, - "y:3": 30 + "x:3": 126, + "y:3": -54 }, - "15:10": { + "39:10": { "id:3": 629, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 288, - "y:3": 30 + "x:3": 156, + "y:3": -54 }, - "16:10": { + "40:10": { "id:3": 630, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 288, - "y:3": 0 + "x:3": 96, + "y:3": -54 }, - "17:10": { + "41:10": { "id:3": 632, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 168, - "y:3": -120 + "x:3": 264, + "y:3": 78 }, - "18:10": { + "42:10": { "id:3": 633, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 138, - "y:3": -48 + "x:3": 300, + "y:3": 42 }, - "19:10": { + "43:10": { "id:3": 634, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 168, - "y:3": -48 + "x:3": 336, + "y:3": 6 }, - "20:10": { + "44:10": { "id:3": 635, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 168, - "y:3": -84 + "x:3": 192, + "y:3": 150 }, - "21:10": { + "45:10": { "id:3": 636, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 198, - "y:3": -48 + "x:3": 228, + "y:3": 114 }, - "22:10": { + "46:10": { "id:3": 637, "sizeX:3": 36, "sizeY:3": 36, - "x:3": -186, - "y:3": -144 + "x:3": 186, + "y:3": -204 }, - "23:10": { + "47:10": { "id:3": 641, - "sizeX:3": 48, - "sizeY:3": 48, - "x:3": -30, - "y:3": -12 + "sizeX:3": 36, + "sizeY:3": 36, + "x:3": -24, + "y:3": -108 }, - "24:10": { + "48:10": { "id:3": 642, "sizeX:3": 24, "sizeY:3": 24, "x:3": -18, - "y:3": -84 + "y:3": -150 }, - "25:10": { + "49:10": { "id:3": 643, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -72, - "y:3": -84 + "x:3": -18, + "y:3": -198 }, - "26:10": { + "50:10": { "id:3": 644, "sizeX:3": 48, "sizeY:3": 48, - "x:3": -84, - "y:3": -150 + "x:3": 48, + "y:3": -210 }, - "27:10": { + "51:10": { "id:3": 645, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -18, - "y:3": -138 + "x:3": 192, + "y:3": -114 }, - "28:10": { + "52:10": { "id:3": 647, "sizeX:3": 36, "sizeY:3": 36, "x:3": -24, - "y:3": 54 + "y:3": 12 }, - "29:10": { + "53:10": { "id:3": 648, "sizeX:3": 36, "sizeY:3": 36, - "x:3": -138, - "y:3": -144 + "x:3": 138, + "y:3": -204 }, - "30:10": { + "54:10": { "id:3": 649, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -132, - "y:3": -84 + "x:3": 102, + "y:3": -198 }, - "31:10": { + "55:10": { + "id:3": 652, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 336, + "y:3": -150 + }, + "56:10": { "id:3": 679, "sizeX:3": 36, "sizeY:3": 36, "x:3": -24, - "y:3": 204 + "y:3": 240 }, - "32:10": { + "57:10": { "id:3": 680, "sizeX:3": 36, "sizeY:3": 36, - "x:3": -78, - "y:3": -198 + "x:3": 54, + "y:3": -150 }, - "33:10": { + "58:10": { "id:3": 681, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -18, - "y:3": -168 + "x:3": 228, + "y:3": -114 }, - "34:10": { + "59:10": { "id:3": 683, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -114, - "y:3": -48 + "x:3": -168, + "y:3": 18 }, - "35:10": { - "id:3": 687, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 114, - "y:3": -120 - }, - "36:10": { - "id:3": 688, + "60:10": { + "id:3": 685, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -72, - "y:3": -18 + "x:3": 372, + "y:3": -150 }, - "37:10": { - "id:3": 689, + "61:10": { + "id:3": 687, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -72, - "y:3": 12 + "x:3": 264, + "y:3": 150 }, - "38:10": { + "62:10": { "id:3": 690, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -132, - "y:3": 60 + "x:3": -96, + "y:3": -18 }, - "39:10": { + "63:10": { "id:3": 691, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -114, - "y:3": -18 + "x:3": -132, + "y:3": 18 }, - "40:10": { + "64:10": { "id:3": 692, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 108, - "y:3": 48 + "x:3": 138, + "y:3": 96 }, - "41:10": { + "65:10": { "id:3": 693, "sizeX:3": 24, "sizeY:3": 24, "x:3": 108, - "y:3": 84 + "y:3": 96 }, - "42:10": { + "66:10": { "id:3": 694, "sizeX:3": 24, "sizeY:3": 24, "x:3": 138, - "y:3": 48 + "y:3": 60 }, - "43:10": { + "67:10": { "id:3": 695, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 138, - "y:3": 114 + "x:3": 108, + "y:3": 60 }, - "44:10": { + "68:10": { "id:3": 696, "sizeX:3": 24, "sizeY:3": 24, "x:3": 168, - "y:3": 48 + "y:3": 60 }, - "45:10": { + "69:10": { "id:3": 697, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 12, - "y:3": -54 - }, - "46:10": { - "id:3": 698, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 114, - "y:3": -84 + "x:3": 42, + "y:3": 198 }, - "47:10": { + "70:10": { "id:3": 699, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 114, - "y:3": -156 + "x:3": 300, + "y:3": 186 }, - "48:10": { + "71:10": { "id:3": 700, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 168, - "y:3": -156 + "x:3": 300, + "y:3": 222 }, - "49:10": { + "72:10": { "id:3": 701, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 60, - "y:3": -156 + "x:3": 264, + "y:3": 186 }, - "50:10": { + "73:10": { "id:3": 702, "sizeX:3": 36, "sizeY:3": 36, - "x:3": 108, - "y:3": -216 + "x:3": 510, + "y:3": 180 }, - "51:10": { + "74:10": { "id:3": 703, "sizeX:3": 48, "sizeY:3": 48, - "x:3": 156, - "y:3": -222 + "x:3": 504, + "y:3": 102 }, - "52:10": { + "75:10": { "id:3": 704, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 228, - "y:3": -210 + "x:3": 516, + "y:3": 66 }, - "53:10": { + "76:10": { "id:3": 705, "sizeX:3": 36, "sizeY:3": 36, - "x:3": 162, - "y:3": -270 + "x:3": 564, + "y:3": 108 }, - "54:10": { + "77:10": { "id:3": 706, "sizeX:3": 36, "sizeY:3": 36, - "x:3": -111, - "y:3": 204 + "x:3": -72, + "y:3": 240 }, - "55:10": { + "78:10": { "id:3": 707, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -61, - "y:3": 165 + "x:3": -54, + "y:3": 204 }, - "56:10": { + "79:10": { "id:3": 708, "sizeX:3": 24, "sizeY:3": 24, "x:3": -18, - "y:3": 165 + "y:3": 204 }, - "57:10": { + "80:10": { "id:3": 709, "sizeX:3": 36, "sizeY:3": 36, "x:3": -24, - "y:3": 108 + "y:3": 156 }, - "58:10": { + "81:10": { "id:3": 710, "sizeX:3": 36, "sizeY:3": 36, - "x:3": -78, - "y:3": -246 + "x:3": 108, + "y:3": -120 }, - "59:10": { + "82:10": { "id:3": 713, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -72, - "y:3": -48 + "x:3": -60, + "y:3": -102 }, - "60:10": { + "83:10": { "id:3": 714, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -72, - "y:3": 42 + "x:3": -96, + "y:3": -54 }, - "61:10": { + "84:10": { "id:3": 715, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -72, - "y:3": 78 + "x:3": -132, + "y:3": -18 }, - "62:10": { + "85:10": { "id:3": 716, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -132, - "y:3": -240 + "x:3": 156, + "y:3": -114 }, - "63:10": { + "86:10": { "id:3": 717, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -105, - "y:3": 263 + "x:3": -66, + "y:3": 288 }, - "64:10": { + "87:10": { "id:3": 718, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 108, + "x:3": -168, "y:3": 162 }, - "65:10": { - "id:3": 719, + "88:10": { + "id:3": 720, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -156, - "y:3": -48 + "x:3": 192, + "y:3": -150 }, - "66:10": { - "id:3": 720, + "89:10": { + "id:3": 751, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -228, - "y:3": -138 + "x:3": -168, + "y:3": 54 }, - "67:10": { - "id:3": 751, + "90:10": { + "id:3": 753, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 264, + "y:3": 222 + }, + "91:10": { + "id:3": 770, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 336, + "y:3": 222 + }, + "92:10": { + "id:3": 822, + "sizeX:3": 36, + "sizeY:3": 36, + "x:3": -24, + "y:3": -60 + }, + "93:10": { + "id:3": 823, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -60, + "y:3": -54 + }, + "94:10": { + "id:3": 863, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 408, + "y:3": -114 + }, + "95:10": { + "id:3": 864, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 300, + "y:3": -150 + }, + "96:10": { + "id:3": 865, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 300, + "y:3": -114 + }, + "97:10": { + "id:3": 866, + "sizeX:3": 60, + "sizeY:3": 60, + "x:3": 372, + "y:3": -42 + }, + "98:10": { + "id:3": 868, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 372, + "y:3": -78 + }, + "99:10": { + "id:3": 869, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -156, + "x:3": 336, + "y:3": -114 + }, + "100:10": { + "id:3": 870, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 408, + "y:3": -150 + }, + "101:10": { + "id:3": 872, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 336, + "y:3": -78 + }, + "102:10": { + "id:3": 873, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 372, + "y:3": -114 + }, + "103:10": { + "id:3": 874, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -168, + "y:3": 90 + }, + "104:10": { + "id:3": 22127543, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -204, + "y:3": 54 + }, + "105:10": { + "id:3": 326901357, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -60, "y:3": -18 }, - "68:10": { - "id:3": 753, + "106:10": { + "id:3": 618527753, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 228, - "y:3": -156 + "x:3": -60, + "y:3": 54 + }, + "107:10": { + "id:3": 943634333, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -60, + "y:3": 18 + }, + "108:10": { + "id:3": 1056118460, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -96, + "y:3": 54 + }, + "109:10": { + "id:3": 1177038065, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -60, + "y:3": 126 + }, + "110:10": { + "id:3": 1193199034, + "sizeX:3": 36, + "sizeY:3": 36, + "x:3": -24, + "y:3": 84 + }, + "111:10": { + "id:3": 1529184698, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -132, + "y:3": 54 + }, + "112:10": { + "id:3": 1766408250, + "sizeX:3": 60, + "sizeY:3": 60, + "x:3": 336, + "y:3": -222 + }, + "113:10": { + "id:3": 1837809262, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -96, + "y:3": 18 + }, + "114:10": { + "id:3": 2096017803, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -168, + "y:3": 126 } } } \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/QuestLines/5.json b/config/betterquesting/DefaultQuests/QuestLines/5.json index b02b4aa78..1a9361d3b 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/5.json +++ b/config/betterquesting/DefaultQuests/QuestLines/5.json @@ -307,69 +307,55 @@ "y:3": -54 }, "42:10": { - "id:3": 822, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 30, - "y:3": -96 - }, - "43:10": { - "id:3": 823, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 72, - "y:3": -96 - }, - "44:10": { "id:3": 824, "sizeX:3": 24, "sizeY:3": 24, "x:3": 30, "y:3": -54 }, - "45:10": { + "43:10": { "id:3": 825, "sizeX:3": 24, "sizeY:3": 24, "x:3": 114, "y:3": -96 }, - "46:10": { + "44:10": { "id:3": 826, "sizeX:3": 24, "sizeY:3": 24, "x:3": 72, "y:3": -54 }, - "47:10": { + "45:10": { "id:3": 827, "sizeX:3": 24, "sizeY:3": 24, "x:3": 156, "y:3": -54 }, - "48:10": { + "46:10": { "id:3": 828, "sizeX:3": 24, "sizeY:3": 24, "x:3": 114, "y:3": -54 }, - "49:10": { + "47:10": { "id:3": 829, "sizeX:3": 24, "sizeY:3": 24, "x:3": 30, "y:3": 30 }, - "50:10": { + "48:10": { "id:3": 875, "sizeX:3": 36, "sizeY:3": 36, "x:3": 150, "y:3": -18 }, - "51:10": { + "49:10": { "id:3": 876, "sizeX:3": 24, "sizeY:3": 24, diff --git a/config/betterquesting/DefaultQuests/Quests/1/1458175841.json b/config/betterquesting/DefaultQuests/Quests/1/1458175841.json new file mode 100644 index 000000000..3421a45b9 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/1/1458175841.json @@ -0,0 +1,34 @@ +{ + "preRequisites:11": [ + 32 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1458175841.desc", + "frame:8": "GATE", + "icon:10": { + "Damage:2": 8619, + "id:8": "gregtech:meta_ingot" + }, + "name:8": "susy.quest.db.1458175841.title" + } + }, + "questID:3": 1458175841, + "tasks:9": { + "0:10": { + "requiredItems:9": { + "0:10": { + "Count:3": 1, + "Damage:2": 8106, + "id:8": "gregtech:meta_ingot" + }, + "1:10": { + "Count:3": 1, + "Damage:2": 8619, + "id:8": "gregtech:meta_ingot" + } + }, + "taskID:8": "bq_standard:retrieval" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/1/42.json b/config/betterquesting/DefaultQuests/Quests/1/42.json index cfd095ca3..4b2ccf2f0 100644 --- a/config/betterquesting/DefaultQuests/Quests/1/42.json +++ b/config/betterquesting/DefaultQuests/Quests/1/42.json @@ -1,14 +1,16 @@ { + "preRequisiteTypes:7": [ + 1 + ], "preRequisites:11": [ - 32 + 31 ], "properties:10": { "betterquesting:10": { "desc:8": "susy.quest.db.42.desc", "frame:8": "GATE", "icon:10": { - "Damage:2": 2517, - "OreDict:8": "ingotRedAlloy", + "Damage:2": 69, "id:8": "gregtech:meta_ingot" }, "ismain:1": 1, @@ -21,8 +23,7 @@ "requiredItems:9": { "0:10": { "Count:3": 16, - "Damage:2": 2517, - "OreDict:8": "ingotRedAlloy", + "Damage:2": 69, "id:8": "gregtech:meta_ingot" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/1/518.json b/config/betterquesting/DefaultQuests/Quests/1/518.json index 2e4b0ada9..ee8486b2f 100644 --- a/config/betterquesting/DefaultQuests/Quests/1/518.json +++ b/config/betterquesting/DefaultQuests/Quests/1/518.json @@ -1,6 +1,7 @@ { "preRequisites:11": [ - 97148971 + 97148971, + 32 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/1/78.json b/config/betterquesting/DefaultQuests/Quests/1/78.json index edbbd46ec..008c0b5c2 100644 --- a/config/betterquesting/DefaultQuests/Quests/1/78.json +++ b/config/betterquesting/DefaultQuests/Quests/1/78.json @@ -1,7 +1,9 @@ { + "preRequisiteTypes:7": [ + 1 + ], "preRequisites:11": [ - 77, - 43 + 31 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/1/79.json b/config/betterquesting/DefaultQuests/Quests/1/79.json index 5270c3719..3c932a265 100644 --- a/config/betterquesting/DefaultQuests/Quests/1/79.json +++ b/config/betterquesting/DefaultQuests/Quests/1/79.json @@ -1,13 +1,14 @@ { "preRequisites:11": [ - 42 + 42, + 32 ], "properties:10": { "betterquesting:10": { "desc:8": "susy.quest.db.79.desc", "frame:8": "GATE", "icon:10": { - "Damage:2": 2517, + "Damage:2": 274, "id:8": "gregtech:meta_wire_fine" }, "ismain:1": 1, @@ -20,12 +21,12 @@ "requiredItems:9": { "0:10": { "Count:3": 1, - "Damage:2": 2517, + "Damage:2": 274, "id:8": "gregtech:wire_single" }, "1:10": { "Count:3": 1, - "Damage:2": 2517, + "Damage:2": 274, "id:8": "gregtech:meta_wire_fine" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/2/240.json b/config/betterquesting/DefaultQuests/Quests/2/240.json index ec1295c2e..afc8e1088 100644 --- a/config/betterquesting/DefaultQuests/Quests/2/240.json +++ b/config/betterquesting/DefaultQuests/Quests/2/240.json @@ -1,7 +1,4 @@ { - "preRequisiteTypes:7": [ - 1 - ], "preRequisites:11": [ 174 ], diff --git a/config/betterquesting/DefaultQuests/Quests/24/525.json b/config/betterquesting/DefaultQuests/Quests/24/525.json index 89cbfa67a..7ece64ee5 100644 --- a/config/betterquesting/DefaultQuests/Quests/24/525.json +++ b/config/betterquesting/DefaultQuests/Quests/24/525.json @@ -5,16 +5,14 @@ "properties:10": { "betterquesting:10": { "desc:8": "susy.quest.db.525.desc", - "frame:8": "ROUNDED_SQUARE", "icon:10": { "id:8": "opencomputers:storage" }, - "ignoresview:1": 0, "name:8": "susy.quest.db.525.title", - "repeattime:3": 900, - "visibility:8": "ALWAYS" + "repeattime:3": 900 } }, + "questID:3": 525, "rewards:9": { "0:10": { "rewardID:8": "bq_standard:item", @@ -1795,8 +1793,6 @@ }, "tasks:9": { "0:10": { - "entryLogic:8": "AND", - "partialMatch:1": 1, "requiredItems:9": { "0:10": { "Count:3": 1, diff --git a/config/betterquesting/DefaultQuests/Quests/24/527.json b/config/betterquesting/DefaultQuests/Quests/24/527.json index 04837d641..346eb9f05 100644 --- a/config/betterquesting/DefaultQuests/Quests/24/527.json +++ b/config/betterquesting/DefaultQuests/Quests/24/527.json @@ -5,7 +5,6 @@ "properties:10": { "betterquesting:10": { "desc:8": "susy.quest.db.527.desc", - "frame:8": "ROUNDED_SQUARE", "icon:10": { "Damage:2": 1, "id:8": "opencomputers:storage", @@ -20,12 +19,11 @@ "oc:lootFactory:8": "opencomputers:openos" } }, - "ignoresview:1": 0, "name:8": "susy.quest.db.527.title", - "repeattime:3": 900, - "visibility:8": "ALWAYS" + "repeattime:3": 900 } }, + "questID:3": 527, "rewards:9": { "0:10": { "rewardID:8": "bq_standard:item", @@ -50,8 +48,6 @@ }, "tasks:9": { "0:10": { - "entryLogic:8": "AND", - "partialMatch:1": 1, "requiredItems:9": { "0:10": { "Count:3": 1, diff --git a/config/betterquesting/DefaultQuests/Quests/24/530.json b/config/betterquesting/DefaultQuests/Quests/24/530.json index 4d94cb61d..520ea5634 100644 --- a/config/betterquesting/DefaultQuests/Quests/24/530.json +++ b/config/betterquesting/DefaultQuests/Quests/24/530.json @@ -5,17 +5,15 @@ "properties:10": { "betterquesting:10": { "desc:8": "susy.quest.db.530.desc", - "frame:8": "ROUNDED_SQUARE", "icon:10": { "Damage:2": 13, "id:8": "opencomputers:material" }, - "ignoresview:1": 0, "name:8": "susy.quest.db.530.title", - "repeattime:3": 15, - "visibility:8": "ALWAYS" + "repeattime:3": 15 } }, + "questID:3": 530, "rewards:9": { "0:10": { "choices:9": { @@ -238,8 +236,6 @@ }, "tasks:9": { "0:10": { - "entryLogic:8": "AND", - "partialMatch:1": 1, "requiredItems:9": { "0:10": { "Count:3": 1, diff --git a/config/betterquesting/DefaultQuests/Quests/27/1997511526.json b/config/betterquesting/DefaultQuests/Quests/27/1997511526.json new file mode 100644 index 000000000..43dec1478 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/27/1997511526.json @@ -0,0 +1,36 @@ +{ + "preRequisites:11": [ + 373, + 786 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1997511526.desc", + "icon:10": { + "id:8": "forge:bucketfilled", + "tag:10": { + "Amount:3": 1000, + "FluidName:8": "natural_gas" + } + }, + "name:8": "susy.quest.db.1997511526.title", + "tasklogic:8": "OR" + } + }, + "questID:3": 1997511526, + "tasks:9": { + "0:10": { + "requiredFluids:9": { + "0:10": { + "Amount:3": 1000, + "FluidName:8": "natural_gas" + } + }, + "taskID:8": "bq_standard:fluid" + }, + "1:10": { + "index:3": 1, + "taskID:8": "bq_standard:checkbox" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/3/1090881854.json b/config/betterquesting/DefaultQuests/Quests/3/1090881854.json new file mode 100644 index 000000000..1737acb70 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/3/1090881854.json @@ -0,0 +1,30 @@ +{ + "preRequisites:11": [ + 475, + 492, + 477 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1090881854.desc", + "icon:10": { + "Damage:2": 5902, + "id:8": "gregtech:meta_item_2" + }, + "name:8": "susy.quest.db.1090881854.title" + } + }, + "questID:3": 1090881854, + "tasks:9": { + "0:10": { + "requiredItems:9": { + "0:10": { + "Count:3": 1, + "Damage:2": 5902, + "id:8": "gregtech:meta_item_2" + } + }, + "taskID:8": "bq_standard:retrieval" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/3/1402916517.json b/config/betterquesting/DefaultQuests/Quests/3/1402916517.json new file mode 100644 index 000000000..30ebe975c --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/3/1402916517.json @@ -0,0 +1,29 @@ +{ + "preRequisites:11": [ + 1786950658, + 481 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1402916517.desc", + "icon:10": { + "Damage:2": 5909, + "id:8": "gregtech:meta_item_2" + }, + "name:8": "susy.quest.db.1402916517.title" + } + }, + "questID:3": 1402916517, + "tasks:9": { + "0:10": { + "requiredItems:9": { + "0:10": { + "Count:3": 1, + "Damage:2": 5909, + "id:8": "gregtech:meta_item_2" + } + }, + "taskID:8": "bq_standard:retrieval" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/3/1786950658.json b/config/betterquesting/DefaultQuests/Quests/3/1786950658.json new file mode 100644 index 000000000..886482f41 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/3/1786950658.json @@ -0,0 +1,28 @@ +{ + "preRequisites:11": [ + 698 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1786950658.desc", + "icon:10": { + "Damage:2": 5905, + "id:8": "gregtech:meta_item_2" + }, + "name:8": "susy.quest.db.1786950658.title" + } + }, + "questID:3": 1786950658, + "tasks:9": { + "0:10": { + "requiredItems:9": { + "0:10": { + "Count:3": 1, + "Damage:2": 5905, + "id:8": "gregtech:meta_item_2" + } + }, + "taskID:8": "bq_standard:retrieval" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/3/254727108.json b/config/betterquesting/DefaultQuests/Quests/3/254727108.json new file mode 100644 index 000000000..184272fff --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/3/254727108.json @@ -0,0 +1,29 @@ +{ + "preRequisites:11": [ + 467, + 1090881854 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.254727108.desc", + "icon:10": { + "Damage:2": 623, + "id:8": "gregtech:meta_item_1" + }, + "name:8": "susy.quest.db.254727108.title" + } + }, + "questID:3": 254727108, + "tasks:9": { + "0:10": { + "requiredItems:9": { + "0:10": { + "Count:3": 1, + "Damage:2": 623, + "id:8": "gregtech:meta_item_1" + } + }, + "taskID:8": "bq_standard:retrieval" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/3/409196029.json b/config/betterquesting/DefaultQuests/Quests/3/409196029.json new file mode 100644 index 000000000..5eea2c888 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/3/409196029.json @@ -0,0 +1,29 @@ +{ + "preRequisites:11": [ + 498154717, + 254727108 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.409196029.desc", + "icon:10": { + "Damage:2": 624, + "id:8": "gregtech:meta_item_1" + }, + "name:8": "susy.quest.db.409196029.title" + } + }, + "questID:3": 409196029, + "tasks:9": { + "0:10": { + "requiredItems:9": { + "0:10": { + "Count:3": 1, + "Damage:2": 624, + "id:8": "gregtech:meta_item_1" + } + }, + "taskID:8": "bq_standard:retrieval" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/3/475.json b/config/betterquesting/DefaultQuests/Quests/3/475.json index 2adabf062..38fc686d2 100644 --- a/config/betterquesting/DefaultQuests/Quests/3/475.json +++ b/config/betterquesting/DefaultQuests/Quests/3/475.json @@ -1,6 +1,6 @@ { "preRequisiteTypes:7": [ - 1, + 0, 1 ], "preRequisites:11": [ diff --git a/config/betterquesting/DefaultQuests/Quests/3/492.json b/config/betterquesting/DefaultQuests/Quests/3/492.json index 393a52644..3eee5a4ea 100644 --- a/config/betterquesting/DefaultQuests/Quests/3/492.json +++ b/config/betterquesting/DefaultQuests/Quests/3/492.json @@ -1,6 +1,6 @@ { "preRequisites:11": [ - 480 + 398 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/3/498.json b/config/betterquesting/DefaultQuests/Quests/3/498.json index 817824fda..502714571 100644 --- a/config/betterquesting/DefaultQuests/Quests/3/498.json +++ b/config/betterquesting/DefaultQuests/Quests/3/498.json @@ -1,6 +1,11 @@ { + "preRequisiteTypes:7": [ + 0, + 1 + ], "preRequisites:11": [ - 653 + 653, + 498154717 ], "properties:10": { "betterquesting:10": { @@ -11,7 +16,8 @@ "id:8": "gregtech:machine" }, "ismain:1": 1, - "name:8": "susy.quest.db.498.title" + "name:8": "susy.quest.db.498.title", + "questlogic:8": "OR" } }, "questID:3": 498, diff --git a/config/betterquesting/DefaultQuests/Quests/3/498154717.json b/config/betterquesting/DefaultQuests/Quests/3/498154717.json new file mode 100644 index 000000000..8f93ebd82 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/3/498154717.json @@ -0,0 +1,30 @@ +{ + "preRequisites:11": [ + 1786950658, + 1090881854, + 496 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.498154717.desc", + "icon:10": { + "Damage:2": 5908, + "id:8": "gregtech:meta_item_2" + }, + "name:8": "susy.quest.db.498154717.title" + } + }, + "questID:3": 498154717, + "tasks:9": { + "0:10": { + "requiredItems:9": { + "0:10": { + "Count:3": 1, + "Damage:2": 5908, + "id:8": "gregtech:meta_item_2" + } + }, + "taskID:8": "bq_standard:retrieval" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/3/545.json b/config/betterquesting/DefaultQuests/Quests/3/545.json index d44940601..690fabf09 100644 --- a/config/betterquesting/DefaultQuests/Quests/3/545.json +++ b/config/betterquesting/DefaultQuests/Quests/3/545.json @@ -1,7 +1,6 @@ { "preRequisites:11": [ - 510, - 243 + 510 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/4/698.json b/config/betterquesting/DefaultQuests/Quests/3/698.json similarity index 96% rename from config/betterquesting/DefaultQuests/Quests/4/698.json rename to config/betterquesting/DefaultQuests/Quests/3/698.json index c4ed6035a..90c1cbd1e 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/698.json +++ b/config/betterquesting/DefaultQuests/Quests/3/698.json @@ -1,7 +1,7 @@ { "preRequisites:11": [ - 620, - 451 + 451, + 877 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/3/741.json b/config/betterquesting/DefaultQuests/Quests/3/741.json index 3dd0209a5..3780970a0 100644 --- a/config/betterquesting/DefaultQuests/Quests/3/741.json +++ b/config/betterquesting/DefaultQuests/Quests/3/741.json @@ -1,6 +1,7 @@ { "preRequisites:11": [ - 497 + 497, + 478 ], "properties:10": { "betterquesting:10": { @@ -11,7 +12,8 @@ "id:8": "gregtech:machine" }, "ismain:1": 1, - "name:8": "susy.quest.db.741.title" + "name:8": "susy.quest.db.741.title", + "questlogic:8": "OR" } }, "questID:3": 741, diff --git a/config/betterquesting/DefaultQuests/Quests/4/1056118460.json b/config/betterquesting/DefaultQuests/Quests/4/1056118460.json new file mode 100644 index 000000000..d1286a50b --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/4/1056118460.json @@ -0,0 +1,40 @@ +{ + "preRequisites:11": [ + 1193199034, + 466 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1056118460.desc", + "icon:10": { + "id:8": "forge:bucketfilled", + "tag:10": { + "Amount:3": 1000, + "FluidName:8": "vacuum_oil_residue" + } + }, + "name:8": "susy.quest.db.1056118460.title", + "tasklogic:8": "OR" + } + }, + "questID:3": 1056118460, + "tasks:9": { + "0:10": { + "requiredFluids:9": { + "0:10": { + "Amount:3": 1000, + "FluidName:8": "atmospheric_oil_residue" + }, + "1:10": { + "Amount:3": 1000, + "FluidName:8": "vacuum_oil_residue" + } + }, + "taskID:8": "bq_standard:fluid" + }, + "1:10": { + "index:3": 1, + "taskID:8": "bq_standard:checkbox" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/4/1177038065.json b/config/betterquesting/DefaultQuests/Quests/4/1177038065.json new file mode 100644 index 000000000..6e279e95d --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/4/1177038065.json @@ -0,0 +1,56 @@ +{ + "preRequisites:11": [ + 175 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1177038065.desc", + "frame:8": "GATE", + "icon:10": { + "id:8": "forge:bucketfilled", + "tag:10": { + "Amount:3": 1000, + "FluidName:8": "desalted_oil_light" + } + }, + "name:8": "susy.quest.db.1177038065.title", + "tasklogic:8": "OR" + } + }, + "questID:3": 1177038065, + "tasks:9": { + "0:10": { + "requiredFluids:9": { + "0:10": { + "Amount:3": 1000, + "FluidName:8": "heated_oil_light" + } + }, + "taskID:8": "bq_standard:fluid" + }, + "1:10": { + "index:3": 1, + "requiredFluids:9": { + "0:10": { + "Amount:3": 1000, + "FluidName:8": "heated_oil" + } + }, + "taskID:8": "bq_standard:fluid" + }, + "2:10": { + "index:3": 2, + "requiredFluids:9": { + "0:10": { + "Amount:3": 1000, + "FluidName:8": "heated_oil_heavy" + } + }, + "taskID:8": "bq_standard:fluid" + }, + "3:10": { + "index:3": 3, + "taskID:8": "bq_standard:checkbox" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/4/1193199034.json b/config/betterquesting/DefaultQuests/Quests/4/1193199034.json new file mode 100644 index 000000000..588825926 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/4/1193199034.json @@ -0,0 +1,45 @@ +{ + "preRequisites:11": [ + 614 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1193199034.desc", + "frame:8": "GATE", + "icon:10": { + "Damage:2": 14506, + "id:8": "gregtech:machine" + }, + "ismain:1": 1, + "name:8": "susy.quest.db.1193199034.title" + } + }, + "questID:3": 1193199034, + "tasks:9": { + "0:10": { + "requiredItems:9": { + "0:10": { + "Count:3": 1, + "Damage:2": 14506, + "id:8": "gregtech:machine" + }, + "1:10": { + "Count:3": 24, + "Damage:2": 5, + "id:8": "gregtech:metal_casing" + }, + "2:10": { + "Count:3": 2, + "Damage:2": 1, + "id:8": "susy:susy_multiblock_casing" + }, + "3:10": { + "Count:3": 8, + "Damage:2": 3, + "id:8": "gregtech:meta_block_frame_20" + } + }, + "taskID:8": "bq_standard:retrieval" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/4/1529184698.json b/config/betterquesting/DefaultQuests/Quests/4/1529184698.json new file mode 100644 index 000000000..9f85e3438 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/4/1529184698.json @@ -0,0 +1,35 @@ +{ + "preRequisites:11": [ + 1056118460 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1529184698.desc", + "icon:10": { + "id:8": "forge:bucketfilled", + "tag:10": { + "Amount:3": 1000, + "FluidName:8": "lubricating_oil" + } + }, + "name:8": "susy.quest.db.1529184698.title", + "tasklogic:8": "OR" + } + }, + "questID:3": 1529184698, + "tasks:9": { + "0:10": { + "requiredFluids:9": { + "0:10": { + "Amount:3": 1000, + "FluidName:8": "lubricating_oil" + } + }, + "taskID:8": "bq_standard:fluid" + }, + "1:10": { + "index:3": 1, + "taskID:8": "bq_standard:checkbox" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/4/1766408250.json b/config/betterquesting/DefaultQuests/Quests/4/1766408250.json new file mode 100644 index 000000000..8dabefe7c --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/4/1766408250.json @@ -0,0 +1,25 @@ +{ + "preRequisites:11": [ + 443, + 454, + 685, + 652, + 864 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1766408250.desc", + "icon:10": { + "id:8": "betterquesting:placeholder" + }, + "name:8": "susy.quest.db.1766408250.title", + "questlogic:8": "OR" + } + }, + "questID:3": 1766408250, + "tasks:9": { + "0:10": { + "taskID:8": "bq_standard:checkbox" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/2/179.json b/config/betterquesting/DefaultQuests/Quests/4/179.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/2/179.json rename to config/betterquesting/DefaultQuests/Quests/4/179.json diff --git a/config/betterquesting/DefaultQuests/Quests/4/1837809262.json b/config/betterquesting/DefaultQuests/Quests/4/1837809262.json new file mode 100644 index 000000000..619bdbc7e --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/4/1837809262.json @@ -0,0 +1,21 @@ +{ + "preRequisites:11": [ + 647, + 1056118460 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1837809262.desc", + "icon:10": { + "id:8": "industrialrenewal:fire" + }, + "name:8": "susy.quest.db.1837809262.title" + } + }, + "questID:3": 1837809262, + "tasks:9": { + "0:10": { + "taskID:8": "bq_standard:checkbox" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/4/2096017803.json b/config/betterquesting/DefaultQuests/Quests/4/2096017803.json new file mode 100644 index 000000000..49a41c5bc --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/4/2096017803.json @@ -0,0 +1,36 @@ +{ + "preRequisiteTypes:7": [ + 1, + 0, + 0, + 0 + ], + "preRequisites:11": [ + 479, + 394, + 775, + 181 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.2096017803.desc", + "frame:8": "GATE", + "icon:10": { + "id:8": "forge:bucketfilled", + "tag:10": { + "Amount:3": 1000, + "FluidName:8": "gasoline" + } + }, + "ismain:1": 1, + "name:8": "susy.quest.db.2096017803.title" + } + }, + "questID:3": 2096017803, + "tasks:9": { + "0:10": { + "index:3": 1, + "taskID:8": "bq_standard:checkbox" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/4/22127543.json b/config/betterquesting/DefaultQuests/Quests/4/22127543.json new file mode 100644 index 000000000..e151768c7 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/4/22127543.json @@ -0,0 +1,38 @@ +{ + "preRequisiteTypes:7": [ + 1 + ], + "preRequisites:11": [ + 614 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.22127543.desc", + "icon:10": { + "id:8": "forge:bucketfilled", + "tag:10": { + "Amount:3": 1000, + "FluidName:8": "supercritical_propane" + } + }, + "name:8": "susy.quest.db.22127543.title", + "tasklogic:8": "OR" + } + }, + "questID:3": 22127543, + "tasks:9": { + "0:10": { + "requiredFluids:9": { + "0:10": { + "Amount:3": 300, + "FluidName:8": "supercritical_propane" + } + }, + "taskID:8": "bq_standard:fluid" + }, + "1:10": { + "index:3": 1, + "taskID:8": "bq_standard:checkbox" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/4/326901357.json b/config/betterquesting/DefaultQuests/Quests/4/326901357.json new file mode 100644 index 000000000..c530c9741 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/4/326901357.json @@ -0,0 +1,21 @@ +{ + "preRequisites:11": [ + 647, + 1837809262 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.326901357.desc", + "icon:10": { + "id:8": "industrialrenewal:steam" + }, + "name:8": "susy.quest.db.326901357.title" + } + }, + "questID:3": 326901357, + "tasks:9": { + "0:10": { + "taskID:8": "bq_standard:checkbox" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/3/452.json b/config/betterquesting/DefaultQuests/Quests/4/452.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/452.json rename to config/betterquesting/DefaultQuests/Quests/4/452.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/456.json b/config/betterquesting/DefaultQuests/Quests/4/456.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/456.json rename to config/betterquesting/DefaultQuests/Quests/4/456.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/457.json b/config/betterquesting/DefaultQuests/Quests/4/457.json similarity index 95% rename from config/betterquesting/DefaultQuests/Quests/3/457.json rename to config/betterquesting/DefaultQuests/Quests/4/457.json index 86a46a2ca..64372b405 100644 --- a/config/betterquesting/DefaultQuests/Quests/3/457.json +++ b/config/betterquesting/DefaultQuests/Quests/4/457.json @@ -7,7 +7,7 @@ "desc:8": "susy.quest.db.457.desc", "frame:8": "GATE", "icon:10": { - "Damage:2": 566, + "Damage:2": 568, "id:8": "gregtech:meta_item_1" }, "ismain:1": 1, diff --git a/config/betterquesting/DefaultQuests/Quests/3/458.json b/config/betterquesting/DefaultQuests/Quests/4/458.json similarity index 81% rename from config/betterquesting/DefaultQuests/Quests/3/458.json rename to config/betterquesting/DefaultQuests/Quests/4/458.json index 123491e46..8168660d1 100644 --- a/config/betterquesting/DefaultQuests/Quests/3/458.json +++ b/config/betterquesting/DefaultQuests/Quests/4/458.json @@ -1,14 +1,13 @@ { "preRequisites:11": [ - 457, - 459 + 457 ], "properties:10": { "betterquesting:10": { "desc:8": "susy.quest.db.458.desc", "frame:8": "GATE", "icon:10": { - "Damage:2": 591, + "Damage:2": 593, "id:8": "gregtech:meta_item_1" }, "ismain:1": 1, @@ -28,6 +27,11 @@ "Count:3": 1, "Damage:2": 592, "id:8": "gregtech:meta_item_1" + }, + "2:10": { + "Count:3": 1, + "Damage:2": 591, + "id:8": "gregtech:meta_item_1" } }, "taskID:8": "bq_standard:retrieval" diff --git a/config/betterquesting/DefaultQuests/Quests/3/488.json b/config/betterquesting/DefaultQuests/Quests/4/488.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/488.json rename to config/betterquesting/DefaultQuests/Quests/4/488.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/489.json b/config/betterquesting/DefaultQuests/Quests/4/489.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/489.json rename to config/betterquesting/DefaultQuests/Quests/4/489.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/490.json b/config/betterquesting/DefaultQuests/Quests/4/490.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/490.json rename to config/betterquesting/DefaultQuests/Quests/4/490.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/491.json b/config/betterquesting/DefaultQuests/Quests/4/491.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/491.json rename to config/betterquesting/DefaultQuests/Quests/4/491.json diff --git a/config/betterquesting/DefaultQuests/Quests/4/618527753.json b/config/betterquesting/DefaultQuests/Quests/4/618527753.json new file mode 100644 index 000000000..174d7f7a7 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/4/618527753.json @@ -0,0 +1,28 @@ +{ + "preRequisites:11": [ + 1056118460 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.618527753.desc", + "icon:10": { + "Damage:2": 4169, + "id:8": "gregtech:meta_dust" + }, + "name:8": "susy.quest.db.618527753.title" + } + }, + "questID:3": 618527753, + "tasks:9": { + "0:10": { + "requiredItems:9": { + "0:10": { + "Count:3": 16, + "Damage:2": 4169, + "id:8": "gregtech:meta_dust" + } + }, + "taskID:8": "bq_standard:retrieval" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/4/624.json b/config/betterquesting/DefaultQuests/Quests/4/624.json index b4cf0fe5b..43689d7d2 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/624.json +++ b/config/betterquesting/DefaultQuests/Quests/4/624.json @@ -1,6 +1,6 @@ { "preRequisites:11": [ - 622 + 614 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/4/632.json b/config/betterquesting/DefaultQuests/Quests/4/632.json index fabe28eca..c1091af1f 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/632.json +++ b/config/betterquesting/DefaultQuests/Quests/4/632.json @@ -11,7 +11,6 @@ "Damage:2": 523, "id:8": "gregtech:meta_item_1" }, - "ismain:1": 1, "name:8": "susy.quest.db.632.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/4/633.json b/config/betterquesting/DefaultQuests/Quests/4/633.json index 57fe5a6a9..389fb8676 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/633.json +++ b/config/betterquesting/DefaultQuests/Quests/4/633.json @@ -10,7 +10,6 @@ "Damage:2": 524, "id:8": "gregtech:meta_item_1" }, - "ismain:1": 1, "name:8": "susy.quest.db.633.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/4/634.json b/config/betterquesting/DefaultQuests/Quests/4/634.json index 2383f2416..45fc3dd07 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/634.json +++ b/config/betterquesting/DefaultQuests/Quests/4/634.json @@ -10,7 +10,6 @@ "Damage:2": 525, "id:8": "gregtech:meta_item_1" }, - "ismain:1": 1, "name:8": "susy.quest.db.634.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/4/635.json b/config/betterquesting/DefaultQuests/Quests/4/635.json index 4a6434849..ee4b3c3d6 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/635.json +++ b/config/betterquesting/DefaultQuests/Quests/4/635.json @@ -11,7 +11,6 @@ "Damage:2": 526, "id:8": "gregtech:meta_item_1" }, - "ismain:1": 1, "name:8": "susy.quest.db.635.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/4/636.json b/config/betterquesting/DefaultQuests/Quests/4/636.json index 29c284ffb..570d8debc 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/636.json +++ b/config/betterquesting/DefaultQuests/Quests/4/636.json @@ -10,7 +10,6 @@ "Damage:2": 527, "id:8": "gregtech:meta_item_1" }, - "ismain:1": 1, "name:8": "susy.quest.db.636.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/4/645.json b/config/betterquesting/DefaultQuests/Quests/4/645.json index d502bde57..28c70e535 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/645.json +++ b/config/betterquesting/DefaultQuests/Quests/4/645.json @@ -1,8 +1,4 @@ { - "preRequisiteTypes:7": [ - 0, - 1 - ], "preRequisites:11": [ 644, 622 diff --git a/config/betterquesting/DefaultQuests/Quests/4/689.json b/config/betterquesting/DefaultQuests/Quests/4/689.json deleted file mode 100644 index 49c5fbd5c..000000000 --- a/config/betterquesting/DefaultQuests/Quests/4/689.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "preRequisites:11": [ - 641 - ], - "properties:10": { - "betterquesting:10": { - "desc:8": "susy.quest.db.689.desc", - "icon:10": { - "id:8": "forge:bucketfilled", - "tag:10": { - "Amount:3": 1000, - "FluidName:8": "alkylated_natural_gas" - } - }, - "name:8": "susy.quest.db.689.title" - } - }, - "questID:3": 689, - "tasks:9": { - "0:10": { - "taskID:8": "bq_standard:checkbox" - } - } -} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/4/690.json b/config/betterquesting/DefaultQuests/Quests/4/690.json index 675ae1469..2590b1c7b 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/690.json +++ b/config/betterquesting/DefaultQuests/Quests/4/690.json @@ -1,6 +1,7 @@ { "preRequisites:11": [ - 647 + 647, + 1056118460 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/4/691.json b/config/betterquesting/DefaultQuests/Quests/4/691.json index 2e5e53775..c04b979cc 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/691.json +++ b/config/betterquesting/DefaultQuests/Quests/4/691.json @@ -1,7 +1,7 @@ { "preRequisites:11": [ - 688, - 683 + 683, + 1837809262 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/4/697.json b/config/betterquesting/DefaultQuests/Quests/4/697.json index 2ea928659..0b8ee17b1 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/697.json +++ b/config/betterquesting/DefaultQuests/Quests/4/697.json @@ -1,14 +1,19 @@ { + "preRequisiteTypes:7": [ + 1 + ], "preRequisites:11": [ - 172 + 326901357 ], "properties:10": { "betterquesting:10": { "desc:8": "susy.quest.db.697.desc", + "frame:8": "GATE", "icon:10": { "Damage:2": 15126, "id:8": "gregtech:meta_foil" }, + "ismain:1": 1, "name:8": "susy.quest.db.697.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/4/705.json b/config/betterquesting/DefaultQuests/Quests/4/705.json index b808dc830..0a4fc0e9b 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/705.json +++ b/config/betterquesting/DefaultQuests/Quests/4/705.json @@ -6,8 +6,8 @@ "betterquesting:10": { "desc:8": "susy.quest.db.705.desc", "icon:10": { - "Damage:2": 2, - "id:8": "icbmclassic:launcherscreen" + "Damage:2": 17, + "id:8": "icbmclassic:explosive_missile" }, "name:8": "susy.quest.db.705.title" } @@ -15,24 +15,7 @@ "questID:3": 705, "tasks:9": { "0:10": { - "requiredItems:9": { - "0:10": { - "Count:3": 1, - "Damage:2": 2, - "id:8": "icbmclassic:launcherframe" - }, - "1:10": { - "Count:3": 1, - "Damage:2": 2, - "id:8": "icbmclassic:launcherbase" - }, - "2:10": { - "Count:3": 1, - "Damage:2": 2, - "id:8": "icbmclassic:launcherscreen" - } - }, - "taskID:8": "bq_standard:retrieval" + "taskID:8": "bq_standard:checkbox" } } } \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/4/707.json b/config/betterquesting/DefaultQuests/Quests/4/707.json index 8c92d494f..a8e5c5a20 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/707.json +++ b/config/betterquesting/DefaultQuests/Quests/4/707.json @@ -10,7 +10,6 @@ "Damage:2": 2, "id:8": "gregtech:wire_coil" }, - "ismain:1": 1, "name:8": "susy.quest.db.707.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/4/714.json b/config/betterquesting/DefaultQuests/Quests/4/714.json index e9d71b582..1db24e277 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/714.json +++ b/config/betterquesting/DefaultQuests/Quests/4/714.json @@ -1,6 +1,7 @@ { "preRequisites:11": [ - 647 + 326901357, + 823 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/4/715.json b/config/betterquesting/DefaultQuests/Quests/4/715.json index 974ba723c..0ae3b98be 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/715.json +++ b/config/betterquesting/DefaultQuests/Quests/4/715.json @@ -1,6 +1,6 @@ { "preRequisites:11": [ - 647 + 1837809262 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/4/753.json b/config/betterquesting/DefaultQuests/Quests/4/753.json index ef8f53e7b..62d48a988 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/753.json +++ b/config/betterquesting/DefaultQuests/Quests/4/753.json @@ -10,7 +10,6 @@ "Damage:2": 172, "id:8": "gregtech:meta_item_2" }, - "ismain:1": 1, "name:8": "susy.quest.db.753.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/5/822.json b/config/betterquesting/DefaultQuests/Quests/4/822.json similarity index 80% rename from config/betterquesting/DefaultQuests/Quests/5/822.json rename to config/betterquesting/DefaultQuests/Quests/4/822.json index 6fcc5fb39..90d66ba3a 100644 --- a/config/betterquesting/DefaultQuests/Quests/5/822.json +++ b/config/betterquesting/DefaultQuests/Quests/4/822.json @@ -1,10 +1,11 @@ { "preRequisites:11": [ - 757 + 614 ], "properties:10": { "betterquesting:10": { "desc:8": "susy.quest.db.822.desc", + "frame:8": "GATE", "icon:10": { "Damage:2": 14638, "id:8": "gregtech:machine" @@ -23,17 +24,17 @@ }, "1:10": { "Count:3": 27, - "Damage:2": 6, - "id:8": "gregtech:metal_casing" + "Damage:2": 7, + "id:8": "gregtech:turbine_casing" }, "2:10": { "Count:3": 4, - "Damage:2": 1, - "id:8": "gregtech:meta_block_frame_7" + "Damage:2": 3, + "id:8": "gregtech:meta_block_frame_20" }, "3:10": { "Count:3": 8, - "Damage:2": 2, + "Damage:2": 1, "id:8": "gregtech:boiler_casing" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/5/823.json b/config/betterquesting/DefaultQuests/Quests/4/823.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/5/823.json rename to config/betterquesting/DefaultQuests/Quests/4/823.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/863.json b/config/betterquesting/DefaultQuests/Quests/4/863.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/863.json rename to config/betterquesting/DefaultQuests/Quests/4/863.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/864.json b/config/betterquesting/DefaultQuests/Quests/4/864.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/864.json rename to config/betterquesting/DefaultQuests/Quests/4/864.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/865.json b/config/betterquesting/DefaultQuests/Quests/4/865.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/865.json rename to config/betterquesting/DefaultQuests/Quests/4/865.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/866.json b/config/betterquesting/DefaultQuests/Quests/4/866.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/866.json rename to config/betterquesting/DefaultQuests/Quests/4/866.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/868.json b/config/betterquesting/DefaultQuests/Quests/4/868.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/868.json rename to config/betterquesting/DefaultQuests/Quests/4/868.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/869.json b/config/betterquesting/DefaultQuests/Quests/4/869.json similarity index 93% rename from config/betterquesting/DefaultQuests/Quests/3/869.json rename to config/betterquesting/DefaultQuests/Quests/4/869.json index fda47376a..7f0d40f15 100644 --- a/config/betterquesting/DefaultQuests/Quests/3/869.json +++ b/config/betterquesting/DefaultQuests/Quests/4/869.json @@ -1,9 +1,4 @@ { - "preRequisiteTypes:7": [ - 0, - 1, - 1 - ], "preRequisites:11": [ 864, 652, diff --git a/config/betterquesting/DefaultQuests/Quests/3/870.json b/config/betterquesting/DefaultQuests/Quests/4/870.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/870.json rename to config/betterquesting/DefaultQuests/Quests/4/870.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/872.json b/config/betterquesting/DefaultQuests/Quests/4/872.json similarity index 98% rename from config/betterquesting/DefaultQuests/Quests/3/872.json rename to config/betterquesting/DefaultQuests/Quests/4/872.json index 0e1faf436..c11cc5c53 100644 --- a/config/betterquesting/DefaultQuests/Quests/3/872.json +++ b/config/betterquesting/DefaultQuests/Quests/4/872.json @@ -1,7 +1,6 @@ { "preRequisites:11": [ 865, - 864, 873 ], "properties:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/3/873.json b/config/betterquesting/DefaultQuests/Quests/4/873.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/873.json rename to config/betterquesting/DefaultQuests/Quests/4/873.json diff --git a/config/betterquesting/DefaultQuests/Quests/4/688.json b/config/betterquesting/DefaultQuests/Quests/4/943634333.json similarity index 76% rename from config/betterquesting/DefaultQuests/Quests/4/688.json rename to config/betterquesting/DefaultQuests/Quests/4/943634333.json index 60ff44d2e..b8e1cf3b2 100644 --- a/config/betterquesting/DefaultQuests/Quests/4/688.json +++ b/config/betterquesting/DefaultQuests/Quests/4/943634333.json @@ -1,19 +1,18 @@ { "preRequisites:11": [ - 641, - 466 + 647 ], "properties:10": { "betterquesting:10": { - "desc:8": "susy.quest.db.688.desc", + "desc:8": "susy.quest.db.943634333.desc", "icon:10": { "Damage:2": 159, "id:8": "gregtech:meta_item_2" }, - "name:8": "susy.quest.db.688.title" + "name:8": "susy.quest.db.943634333.title" } }, - "questID:3": 688, + "questID:3": 943634333, "tasks:9": { "0:10": { "requiredItems:9": { diff --git a/config/betterquesting/DefaultQuests/Quests/5/824.json b/config/betterquesting/DefaultQuests/Quests/5/824.json index 07a85840e..3d6848870 100644 --- a/config/betterquesting/DefaultQuests/Quests/5/824.json +++ b/config/betterquesting/DefaultQuests/Quests/5/824.json @@ -1,6 +1,7 @@ { "preRequisites:11": [ - 823 + 823, + 550 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/172.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/172.json index 9800d2b6f..eac29cdc6 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/172.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/172.json @@ -13,7 +13,6 @@ "FluidName:8": "oil" } }, - "ismain:1": 1, "name:8": "susy.quest.db.172.title", "tasklogic:8": "OR" } diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/173.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/173.json index 975b82279..b1ae14465 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/173.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/173.json @@ -13,7 +13,6 @@ "FluidName:8": "diluted_oil" } }, - "ismain:1": 1, "name:8": "susy.quest.db.173.title", "tasklogic:8": "OR" } diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/175.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/175.json index a51475e54..57b4f40a8 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/175.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/175.json @@ -14,7 +14,6 @@ "FluidName:8": "desalted_oil_light" } }, - "ismain:1": 1, "name:8": "susy.quest.db.175.title", "tasklogic:8": "OR" } diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/178.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/178.json index 5e894d378..c15d994d3 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/178.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/178.json @@ -1,7 +1,8 @@ { "preRequisites:11": [ 174, - 175 + 1193199034, + 1177038065 ], "properties:10": { "betterquesting:10": { @@ -14,7 +15,6 @@ "FluidName:8": "sulfuric_naphtha" } }, - "ismain:1": 1, "name:8": "susy.quest.db.178.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/180.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/180.json index d1e0cccd4..c513d492b 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/180.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/180.json @@ -13,7 +13,6 @@ "FluidName:8": "treated_sulfuric_diesel" } }, - "ismain:1": 1, "name:8": "susy.quest.db.180.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/181.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/181.json index 237e00007..77bca802d 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/181.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/181.json @@ -13,7 +13,6 @@ "FluidName:8": "diesel" } }, - "ismain:1": 1, "name:8": "susy.quest.db.181.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/395.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/395.json index b0ef7acac..6c2083003 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/395.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/395.json @@ -1,7 +1,4 @@ { - "preRequisiteTypes:7": [ - 1 - ], "preRequisites:11": [ 393 ], diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/396.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/396.json index 9d6862a92..8e5b594da 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/396.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/396.json @@ -5,7 +5,6 @@ "properties:10": { "betterquesting:10": { "desc:8": "susy.quest.db.396.desc", - "frame:8": "ROUNDED_SQUARE", "icon:10": { "id:8": "forge:bucketfilled", "tag:10": { @@ -13,13 +12,11 @@ "FluidName:8": "ethanol_water_azeotrope" } }, - "ignoresview:1": 0, "name:8": "susy.quest.db.396.title", - "tasklogic:8": "OR", - "visibility:8": "ALWAYS" + "tasklogic:8": "OR" } }, - "rewards:9": {}, + "questID:3": 396, "tasks:9": { "0:10": { "requiredFluids:9": { diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/478.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/478.json index 5132b24bc..b18434371 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/478.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/478.json @@ -1,9 +1,8 @@ { "preRequisites:11": [ - 458, 476, - 467, - 475 + 1402916517, + 409196029 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/3/480.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/480.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/480.json rename to config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/480.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/481.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/481.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/481.json rename to config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/481.json diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/494.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/494.json index 2abdcebc9..cb9c65402 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/494.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/494.json @@ -3,7 +3,11 @@ 480, 492, 493, - 491 + 491, + 634, + 633, + 632, + 458 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/495.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/495.json index 90c179256..b1f735075 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/495.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/495.json @@ -1,6 +1,9 @@ { "preRequisites:11": [ - 494 + 633, + 635, + 480, + 491 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/497.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/497.json index 82d686095..ad68d4519 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/497.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/497.json @@ -1,7 +1,11 @@ { "preRequisites:11": [ 496, - 494 + 494, + 636, + 632, + 480, + 687 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/536.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/536.json index d7f6f4bf8..5251ae230 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/536.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/536.json @@ -19,7 +19,6 @@ "tasks:9": { "0:10": { "ignoreNBT:1": 1, - "index:3": 0, "requiredItems:9": { "0:10": { "Count:3": 1, diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/54.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/54.json index 7112ba215..aec02a2e9 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/54.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/54.json @@ -1,6 +1,10 @@ { "preRequisites:11": [ - 78 + 78, + 42, + 43, + 77, + 1458175841 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/621.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/621.json index 02203f43c..88dea0580 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/621.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/621.json @@ -9,7 +9,6 @@ "icon:10": { "id:8": "gregtech:cleanroom_casing" }, - "ismain:1": 1, "name:8": "susy.quest.db.621.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/638.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/638.json index 1ccc0362d..d90b1fb95 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/638.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/638.json @@ -1,6 +1,6 @@ { "preRequisites:11": [ - 181 + 121 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/3/652.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/652.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/652.json rename to config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/652.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/685.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/685.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/685.json rename to config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/685.json diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/687.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/687.json index 9095f5a02..92da80388 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/687.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/687.json @@ -5,10 +5,12 @@ "properties:10": { "betterquesting:10": { "desc:8": "susy.quest.db.687.desc", + "frame:8": "GATE", "icon:10": { "Damage:2": 8004, "id:8": "gregtech:meta_item_2" }, + "ismain:1": 1, "name:8": "susy.quest.db.687.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/699.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/699.json index 70698473e..0ed8067fb 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/699.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/699.json @@ -3,15 +3,18 @@ 700, 701, 769, - 687 + 687, + 770 ], "properties:10": { "betterquesting:10": { "desc:8": "susy.quest.db.699.desc", + "frame:8": "GATE", "icon:10": { "Damage:2": 8012, "id:8": "gregtech:meta_item_2" }, + "ismain:1": 1, "name:8": "susy.quest.db.699.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/702.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/702.json index 9487589ba..f48cbbf17 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/702.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/702.json @@ -6,10 +6,12 @@ "properties:10": { "betterquesting:10": { "desc:8": "susy.quest.db.702.desc", + "frame:8": "GATE", "icon:10": { "Damage:2": 600, "id:8": "gregtech:meta_item_1" }, + "ismain:1": 1, "name:8": "susy.quest.db.702.title" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/718.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/718.json index c7142ba77..2f9d32c58 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/718.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/718.json @@ -1,8 +1,15 @@ { + "preRequisiteTypes:7": [ + 1, + 0, + 0, + 0 + ], "preRequisites:11": [ 479, 394, - 775 + 775, + 2096017803 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/751.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/751.json index 0e90f4c94..7c99bc428 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/751.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/751.json @@ -1,7 +1,8 @@ { "preRequisites:11": [ - 688, - 719 + 719, + 1056118460, + 22127543 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/21/770.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/770.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/21/770.json rename to config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/770.json diff --git a/config/betterquesting/DefaultQuests/Quests/27/874.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/874.json similarity index 82% rename from config/betterquesting/DefaultQuests/Quests/27/874.json rename to config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/874.json index b02dd18a0..011692af7 100644 --- a/config/betterquesting/DefaultQuests/Quests/27/874.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/874.json @@ -1,6 +1,7 @@ { "preRequisites:11": [ - 791 + 791, + 1529184698 ], "properties:10": { "betterquesting:10": { @@ -14,7 +15,8 @@ } }, "ismain:1": 1, - "name:8": "susy.quest.db.874.title" + "name:8": "susy.quest.db.874.title", + "questlogic:8": "OR" } }, "questID:3": 874, diff --git a/config/betterquesting/DefaultQuests/Quests/3/493.json b/config/betterquesting/DefaultQuests/Quests/NoQuestLine/493.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/493.json rename to config/betterquesting/DefaultQuests/Quests/NoQuestLine/493.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/867.json b/config/betterquesting/DefaultQuests/Quests/NoQuestLine/867.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/867.json rename to config/betterquesting/DefaultQuests/Quests/NoQuestLine/867.json diff --git a/config/betterquesting/DefaultQuests/Quests/3/871.json b/config/betterquesting/DefaultQuests/Quests/NoQuestLine/871.json similarity index 100% rename from config/betterquesting/DefaultQuests/Quests/3/871.json rename to config/betterquesting/DefaultQuests/Quests/NoQuestLine/871.json diff --git a/config/betterquesting/resources/supersymmetry/lang/en_us.lang b/config/betterquesting/resources/supersymmetry/lang/en_us.lang index 44602f67e..26d3018f7 100644 --- a/config/betterquesting/resources/supersymmetry/lang/en_us.lang +++ b/config/betterquesting/resources/supersymmetry/lang/en_us.lang @@ -138,8 +138,8 @@ susy.quest.db.40.title=Steam Forge Hammer susy.quest.db.40.desc=The §l§r§6Steam Forge Hammer §ris an extremely useful machine that will do pretty much anything that requires a hammer.%n%nIt can make §6plates §r§l§rat a better ratio, only requiring 1.5 ingots instead of 2 per plate. This can allow you to save a substantial amount of ingots until you acquire the §6bender§r, which requires only 1 ingot per plate. susy.quest.db.41.title=Vulcanizing Press susy.quest.db.41.desc=The §6Vulcanizing Press§r turns Latex into Rubber plates. It requires §6Sulfur§r. The reaction may take a long time but it can be sped up by using §6Magnesia §ror §6Zincite§r as a catalyst. -susy.quest.db.42.title=Redstone and Red Alloy -susy.quest.db.42.desc=§cRed Alloy§r is a highly conductive alloy made out of redstone and §ecopper§r. It can only be made in the alloy smelter.%n%nYou can find §4Redstone Ore §rin at altitude levels 15 to 35. If you find redstone rocks on the surface, this means that there will be a deposit underground. +susy.quest.db.42.title=Nickel +susy.quest.db.42.desc=§bNickel§r is an early game metal which can only be made in the Primitive Blast Furnace in the Steam Age.%n%nYou can find §aGarnierite§r and §6Pentlandite§r from altitude levels 0 to 80 or in the Nether. If you find these rocks on the surface, this means that there will be a deposit underground. susy.quest.db.43.title=Glass Tubes susy.quest.db.43.desc=The main objective of the Industrial Age is §evacuum tubes§r. Our first step is making §aglass tubes§r, with a ball mold and glass dust. %n susy.quest.db.44.title=Pyrite and Sulfur @@ -1010,8 +1010,8 @@ susy.quest.db.476.title=AgAu susy.quest.db.476.desc=§6Manmade Electrum §rcan be made by combining §6gold§r and §8§6§7silver§r. susy.quest.db.477.title=Auric Metallurgy susy.quest.db.477.desc=§6Raw Electrum §rcan be treated with Distilled Water and Nitric Acid to create§7§6 Gold§r§r.%n%nFor more info on gold processing, check the Periodic Table. -susy.quest.db.478.title=§cAdvanced Integrated Circuit -susy.quest.db.478.desc=§cAdvanced Integrated Circuits §rare the first type of §cHV§r circuits you can make. §rThey're made from §6MV circuits§r, §7IC and RAM chips§r, §atransistors§r, §b§6and electrum foils§r.%n%nSince this is a very complicated process, requiring a lot of LV circuits for a single HV circuits, you can use the §cMV Circuit Assembler §rto make microprocessors, a better way of making MV and HV circuits. +susy.quest.db.478.title=§cHigh-Voltage Electronic Circuit +susy.quest.db.478.desc=§cHigh-Voltage Electronic Circuits §rare the first type of §cHV§r circuits you can make. §rThey're made from §6Advanced integrated circuits§r, §7a high voltage regulator§r, §adiodes and inductors§r, §b§6and electrum bolts§r.%n%nSince this is a very complicated process, requiring a lot of LV circuits for a single HV circuits, you can use the §cMV Circuit Assembler §rto make microprocessors, a better way of making MV and HV circuits. susy.quest.db.479.title=§eCHAPTER 4 // HOW DO I GET TITANIUM? susy.quest.db.479.desc=Well, the process is pretty "simple"...%n%nLet's start with an §6HV machine hull§r. HV cables are made out of §6gold§r. As you know, you should differentiate all LV, MV and HV machinery.%n%n§r---------------------------------------%n§bHIGH VOLTAGE HAS BEEN UNLOCKED! GOOD LUCK.§r%n---------------------------------------%n- Reach the maximum potential range of your missiles%n- Find new metallurgic processes to obtain titanium%n- Unlock flying vehicles to conquer the skies susy.quest.db.480.title=MV Circuit Assembler @@ -1361,9 +1361,9 @@ susy.quest.db.651.desc=The §6Haber Process§f is used to create §9ammonia§f m susy.quest.db.652.title=Acetylene susy.quest.db.652.desc=§9Acetylene§f is one option you could use for creating §bvinyl chloride.§f%n%nAcetylene is made by reacting Calcium Carbide with Water, and Calcium Carbide is made by smelting Quicklime with Carbon in an Advanced Arc Furnace. susy.quest.db.653.title=ULPIC -susy.quest.db.653.desc=§6ULPIC Wafers (Ultra Low Power Integrated Circuit)§f are made the same way as Integrated Circuit Wafers, with the only difference being the §bphotolithography mask§f used.%n%nThese, along with more advanced power integrated circuits, will be needed in§a MV Energy Hatches§f and above. +susy.quest.db.653.desc=§6ULPIC Wafers (Ultra Low Power Integrated Circuit)§f are made the same way as Integrated Circuit Wafers, with the only difference being the §bphotolithography mask§f used.%n%nThese, along with more advanced power integrated circuits, will be needed in§a HV Energy Hatches§f and above, and this can more cheaply craft an MV Energy Hatch. susy.quest.db.654.title=Gaspunk -susy.quest.db.654.desc=No Description +susy.quest.db.654.desc=This mod unlocks a wide variety of fun §9war crimes§f! Enjoy. susy.quest.db.655.title=Nerve Agents susy.quest.db.655.desc=§cNerve Agents,§f when bottled into a gas grenade, will be some of the deadliest chemical weapons you can use. These include:%n%n- §9Sarin§f%n- §bVX§f%n- §aNovichok A230§f%n%nThese are unlocked at §6HV§f/§5EV§f, and their production methods can be viewed in JEI. §cCaution is advised. susy.quest.db.656.title=Not as good as MSG @@ -1421,7 +1421,7 @@ susy.quest.db.681.desc=Using some stainless steel and explosives, you can assemb susy.quest.db.682.title=Greggy Ore Processing susy.quest.db.682.desc=You may have noticed that when you view the uses of ores in JEI, you can see an §6"Ore Byproducts List"§f page.%n%nThat page shows all the possible routes you can take to process that ore, to extract as much value as possible while obtaining some nice byproducts.%n%nYou can §cwash ores, centrifuge them, macerate them, or sift them,§f depending on what ore it is.%n%nYou will get tailings as a byproduct, which can be processed further to get stuff like §bcalcite§f or even §aemeralds§f from §2pegmatite tailings. susy.quest.db.683.title=Coking Tower -susy.quest.db.683.desc=A §6coking tower§r is a specialized structure used in the process of §6converting bituminous residue into coke.§r +susy.quest.db.683.desc=A §6coking tower§r is a specialized structure used in the process of §6converting residues into coke.§r susy.quest.db.684.title=Name Tag susy.quest.db.684.desc=If you ever need a name tag for some reason, you can simply assemble one using leather and some glue. susy.quest.db.685.title=Brine Processing @@ -1430,15 +1430,10 @@ susy.quest.db.686.title=Geothermal Energy susy.quest.db.686.desc=All of the fluid deposits in the Nether are §clava fluid deposits.§f Using a §afluid drilling rig§f and a §bheat exchanger,§f you can turn water into steam using lava.%n%nThis steam can then be used to generate power. susy.quest.db.687.title=The Gates Of Semiconductor Hell susy.quest.db.687.desc=Silicon dioxide wafers are the base of many complex semiconductor-based technologies, such as NAND wafers for EV-tier circuits.%n%nThis is only the beginning. -susy.quest.db.688.title=The Heaviest of The Heaviest -susy.quest.db.688.desc=Putting the sulfuric oil residue in a vacuum distillation tower gives 3 new oil fractions: Bituminous Residue, Slack Wax, and Lubricating Oil.%n%n§6Lubricating Oil §rcan be upgraded into lighter fractions, or mixed with additives to create lubricant.%n%n§6Slack Wax§r can be treated to create paraffin wax, which has several uses including making treated wood.%n%n§2Bituminous residue§r will be explored in the page to the left. -susy.quest.db.689.title=Tired of refinery gas? -susy.quest.db.689.desc=Tired of §6refinery gas?§f You can react refinery gas with sulfuric acid to alkylate it, followed by distillation to obtain §9gasoline.§f%n%nThis can also be done with §9natural gas. -susy.quest.db.690.title=Fuel Upgrading -susy.quest.db.690.desc=Some oil fractions such as Fuel Oil are too heavy to be cracked for useful chemicals.%n%nAlthough fuel oil can be burnt, it's not as good for energy production as the lighter oil fractions.%n%nLuckily, the heavier oil fractions can be upgraded by cracking them in an oil cracker with a cracking catalyst. Centrifuging the upgraded fuel mix gives a lighter oil fraction, as well as a spent catalyst. This is put in an EBF with some oxygen to return the reusable catalyst. +susy.quest.db.690.title=Catalytic Cracking +susy.quest.db.690.desc=Catalytic cracking is a powerful tool for turning heavier fractions into usable products for polymerization, aromatics (BTEX), and fuels. It requires a catalyst that needs to be regenerated with oxygen, and can crack residues and heavy gas oil. susy.quest.db.691.title=Coking -susy.quest.db.691.desc=Using a Coking Tower and a Rotary Kiln, bituminous residue can be turned into useful coke dust. Green coke is an intermediate. -susy.quest.db.692.title=HV Sensors +susy.quest.db.691.desc=There are two forms of coking, fluid and delayed coking. Delayed coking is a slower process that produces more naphtha but is more energy intensive. It requires a vacuum distillation tower, coking tower, and a tube furnace. In fluid coking, the coke produced is converted to syngas, which can be used for chemical synthesis or steel production. Fluid coking is also a faster process, but requires some more infrastructure. susy.quest.db.692.desc=HV Sensors will be needed in several advanced pieces of technology. susy.quest.db.693.title=Gallium Phosphate susy.quest.db.693.desc=To make Gallium Phosphide crystals, you need to make Ammonium Dihydrogen Phosphate using the Batch Reactor, and Gallium Trioxide by roasting Gallium. @@ -1465,7 +1460,7 @@ susy.quest.db.703.desc=Make the Workstation, from NAND wafers, HV circuits, and susy.quest.db.704.title=HV Circuit Assembler susy.quest.db.704.desc=Make the HV Circuit Assembler, which will probably be useful soon. susy.quest.db.705.title=Trolling Plan: Phase Five -susy.quest.db.705.desc=Now that you are at HV, you can make more advanced types of §cexplosives §rand §cmissiles §rby putting HV power on a Weapons Factory.%n%nThere are 3 new types of explosives:%n§7Endothermic explosives§r, made with cryogenics%n§3Exothermic explosives§r, made with ethylene oxide%n§aEMP explosives§r, made with superconductors%n%nYou can get most of the ingredients for these at HV.%nRemember that these are Tier 3 missiles, so you will need a T3 missile launching station for them to work.%n%nThe range of this missile is 3,000 meters. +susy.quest.db.705.desc=Now that you are at HV, you can make more advanced types of §cexplosives §rand §cmissiles §rby putting HV power on a Weapons Factory.%n%nThere are 3 new types of explosives%n§eEndothermic explosives§r, made with cryogenics%n§3Exothermic explosives§r, made with ethylene oxide%n§aEMP explosives§r, made with superconductors%n%nYou can get most of the ingredients for these at HV. susy.quest.db.706.title=Titanium susy.quest.db.706.desc=Put the §dCrude Titanium Sponge§r in a §6Vacuum Chamber§r to purify it. Then, macerate it for §dTitanium§r dust. Smelt this in an §6EBF§r with §bKanthal Coils§r (or better) to get a §chot§r §dTitanium§r ingot, which has to be cooled in a quencher for normal §dTitanium§r ingots§r. susy.quest.db.707.title=Even Better Coils @@ -1483,7 +1478,7 @@ susy.quest.db.712.desc=The Modular Storage from RFTools is a rather useful block susy.quest.db.713.title=Coal Tar Processing susy.quest.db.713.desc=Using a Distillation Tower, you can get more out of coal tar, including §6Aniline, B.T.E.X. (Benzene, Toluene, Ethylbenzene, Xylene), Pyridine,§f and much more.%n%nThose products will be useful in chemical manufacturing, so it's recommended that you set up a coal tar processing line soon. susy.quest.db.714.title=Styrene-Butadiene Rubber -susy.quest.db.714.desc=Steam cracking oil fractions and distilling it gives you §aButadiene.§f This, along with styrene made from §aEthylbenzene,§f will allow you to make §9Styrene-Butadiene Rubber.§f%n%nIt can do all the things that Rubber can in recipes, but at a lower cost in assembling recipes.%n%nIn case you missed it, §6Silicone Rubber§f is the other higher tier rubber available at HV.%n%nYou will need §3n-Butyllithium§f in the first place as a catalyst to make this.%n%nn-Butyllithium requires a solution of Lithium and Diethyl Ether, and also Bromobutane, which is made by combining Hydrobromic Acid and n-Butanol from the Ziegler Process. %n%nHydrobromic Acid is made in a CSTR by combining Sulfur Dioxide, Water and Bromine.%nuu +susy.quest.db.714.desc=Steam cracking oil fractions and distilling it gives you §aButadiene.§f This, along with styrene made from §aEthylbenzene,§f will allow you to make §9Styrene-Butadiene Rubber.§f%n%nIt can do all the things that Rubber can in recipes, but at a lower cost in assembling recipes.%n%nIn case you missed it, §6Silicone Rubber§f is the other higher tier rubber available at HV.%n%nYou will need §3n-Butyllithium§f in the first place as a catalyst to make this.%n%nn-Butyllithium requires a solution of Lithium and Diethyl Ether, and also Bromobutane, which is made by combining Hydrobromic Acid and n-Butanol from the Ziegler Process.%n%nHydrobromic Acid is made in a CSTR by combining Sulfur Dioxide, Water and Bromine. susy.quest.db.715.title=Even More Rubber susy.quest.db.715.desc=Tired of using Latex and Coagulation Tanks for precious rubber?%n%nIsoprene from §6Steam-Cracked Naphtha§f specifically can be polymerized for §cPolyisoprene,§f which can be vulcanized the same way as Latex for Rubber. susy.quest.db.716.title=Another Fancier Rubber @@ -1557,7 +1552,7 @@ susy.quest.db.749.desc=This item is used to check the coupling status of stock a susy.quest.db.750.title=Automated Driving susy.quest.db.750.desc=With an OpenComputers system (unlocked in MV) and a Train Radio-Control Card, you can control Trains from the comfort of your base.%n%nTo use the Radio-control Card, it must first be linked with locomotive. Right-clicking a locomotive will link the card to it. Shift-Right-clicking unlinks the card.%n%nOnce the Card is linked (which will also be stated on the item tooltip), the Card needs to be placed into a Tier 0 or higher slot in any OpenComputers computer. The Card can then be polled by the computer with the component name "ir_remote_control". If you are not sure how this is done, consult the OpenComputers Wiki.%n%nThe Card can now control the train in a similar fashion to the Locomotive Control Augment. The supported functions are%n- setThrottle(number): Sets the throttle to a value between -1 and 1 (reverse/forward)%n- setBrake(number): Sets the brake to a value between 0 and 1%n- horn(): fires off the locomotive's horn%n- bell(): rings the locomotive bell%n- getPos(): returns the locomotive's world position%n- getLinkUUID(): returns the UUID of the linked loco%n%nAn important thing to take care of is that the Card has a limited range and power cost. By default, the range is 500m, and the EU cost per metre is 0. susy.quest.db.751.title=Asphalt -susy.quest.db.751.desc=Asphalt can be made by putting Bituminous Residue in a Rotary Kiln, mixing the resulting Bitumen with oil, and centrifuging the Bitumen Solution to extract some extra oil, leaving behind Asphalt. This can be used to make Asphalt blocks, which have the same speed boost as concrete. +susy.quest.db.751.desc=Asphalt can be extracted from vacuum oil residue using supercritical propane in the ROSE process. The propane extracts the asphalt from the residue, which can be later separated. The leftover deasphalted oil can be used to produce carbon black, mixed into fuel oil, or used as a lubricant feedstock. susy.quest.db.752.title=Catalysts susy.quest.db.752.desc=A §6catalyst §o§ris a substance that speeds up the rate of a chemical reaction.%n%nIt works by providing an §6alternative pathway §rfor the reaction to occur, lowering the activation energy required for the reaction to proceed. %n%nYou can make §eZincite §r(made from roasting Sphalerite/Smithsonite dusts) or Magnesia to speed up your rubber processing. susy.quest.db.753.title=Synthetic Diamonds @@ -1828,28 +1823,56 @@ susy.quest.db.885.title=Kitchen susy.quest.db.885.desc=The §eKitchen§r will probably be your first taste of autocrafting in this entire pack! It doesn't work with multiblocks, only crafts food-related items, and requires cleaning fluid to run, but it is an exceptional way to automate away the tedium of making food every 20 minutes.%n%nThe Kitchen will accept a §eKitchen Recipe§r within the blank slot in its GUI. The Kitchen Recipe item itself, when used, will open a vaguely crafting-calculator-like GUI. If you want to automate a specific item, you place that item in the "final result" slot, and you can then use JEI to select recipes for it and each of its ingredients recursively (using the + icon).%n%nOnce the recipe is set, the Kitchen will look for the required machines directly on top of the porcelain tiles. The Kitchen will provide them with items and fluids to work through the recipe, and it even automatically sets the correct circuit. However, it will §cnot§r provide them with power. It will store the intermediate items and fluids in its input item buses and fluid hatches, so make sure to leave room in them.%n%nAs machines run in the Kitchen, it will get progressively §6dirty§r. Provide a cleaning fluid like §bDistilled Water§r or §bSodium Stearate (Soap)§r to clean it and prevent it from slowing down. The Kitchen never fully stops, but it may slow down to an arbitrary degree, especially above 10 DU (dirtiness units).%n%nThe controller does require a bit of §9Bismuth§r, so make sure you get a way of obtaining that (such as the MV Roaster) before you begin. susy.quest.db.18799598.title=Soaking Pot susy.quest.db.18799598.desc=The §6Soaking Pot§r can be used to... soak things. For now, the most important usage of it is to convert the §7Quicklime§r into the §7Slaked Lime§r.%n%nIt can also turn the §4Wood Pulp§r into the §eChad§r, which can be turned into §ePapers§r. +susy.quest.db.22127543.title=Going Supercritical +susy.quest.db.22127543.desc=Supercritical fluids can be produced by compressing an already compressed gas in a HV-tier fluid compressor. susy.quest.db.58115670.title=Stone Oven susy.quest.db.58115670.desc=The §6Stone Oven§r contains a hollow chamber, where the materials are exposed to a hot environment in a controlled way.%n%nNot like kilns, although working at a much lower temperature, ovens can be used to heat food to a desired temperature, and thus can be used for §6cooking§r. The better control of temperature also makes ovens possible to §6dry things§r like a drying rack.%n%nAdditionally, ovens can dry §4Mud Bricks§r into §eAdobe Bricks§r, which can be used to build the §6Primitive Baking Oven§r, a type of oven specially designed for cooking food. Check corresponding quests for more information.%n%nTo use a stone oven, you need to right click the lower/upper part of the oven to insert fuels/items that you want to smelt, and then ignite it to start the process. susy.quest.db.97148971.title=Primitive Smelter susy.quest.db.97148971.desc=The §6Primitive Smelter§r is a primitive multiblock furnace capable of §4Smelting Metals§r and §eAlloys§r.%n%nIt can be used to extract certain metals, such as §6Copper§r, §7Tin§r, §5Lead§r, and §7Zinc§r, from their ores through decomposition, driving off other elements as §8gases§r or §8slag§r and leaving the metal behind.%n%nAdditionally, it can produce some basic alloys, such as §6Bronze§r, §cPotin§r, or §eBrass§r, from their components.%n%nThe speed of the §6Primitive Smelter§r depends on the §7Reductant§r (which also serves as §cFuel§r) it is using, as well as the form of the ingredients used for smelting. Generally, the §4dust§r form of the ingredients takes the least time.%n%nCheck the JEI page for more infomation. +susy.quest.db.254727108.title=Miniaturized Electronic Circuit +susy.quest.db.254727108.desc=You may find these to be a little easier to craft, especially given how many you can make at a time! susy.quest.db.302928877.title=Coke Oven Brick susy.quest.db.302928877.desc=By mixing §bClays§r and §eSands§r, you created a new kind of clay which, after forming and firing, creates bricks that are quite air-tight, making them suitable to be used as §6Coke Oven Bricks§r. +susy.quest.db.326901357.title=Steam Cracking +susy.quest.db.326901357.desc=§8§o§o§rSteam cracking is a form of §cthermal cracking §rthat allows you to produce alkenes such as ethylene, propylene, etc. from lighter fractions and molecules such as naphtha.%n%nAdditionally, pyrolysis gasoline can be used as a gasoline blending component or as a source of §l§l§r§6BTEX§r. +susy.quest.db.409196029.title=Advanced Electronic Circuit +susy.quest.db.409196029.desc=The §6Advanced Electronic Circuit§r is a cheaper MV circuit, although like before, it is still made out of §6LV§r circuits, along with a voltage regulator. susy.quest.db.456863075.title=Lighting a Fire susy.quest.db.456863075.desc=§cFire§r is a rapid oxidation of a material. It releases §6heat§r and §elight§r, making it useful for §6cooking§r, §6smelting§r, and many other applications.%n%nThe §6Bow Drill§r will be your first tool for igniting a fire. Right-click and hold for a few seconds to ignite a fire at the location you are looking at.%n%nFirst of all, you shall light a §cCampfire§r, which can illuminate your surroundings and provide you with a §2Comfortable§r environment. You can set up a campfire by placing a §6Tinder§r on the ground, adding logs to it by right-clicking, and then igniting it. +susy.quest.db.498154717.title=Medium Voltage Regulator +susy.quest.db.498154717.desc=§cVoltage regulators§r will help stabilize this next tier of circuits. susy.quest.db.530373325.title=Just Enough Fibers susy.quest.db.530373325.desc=Do you want even more §4Dried Plant Fibers§r, or are you simply tired of drying §aPlant Fibers§r on a §6Drying Rack§r? Now that you have acquired §6Stone Ovens§r, you can dry plant fibers in them with a §a2x§r speed bonus! Hopefully, this will provide you with enough fibers for the entire early game. susy.quest.db.577792334.title=Stone Kiln susy.quest.db.577792334.desc=The §6Stone Kiln§r is also a type of kiln. Better than the pit kiln, with a thermally insulated chamber made out of §8Masonry Bricks§r, it can hold a higher temperature, making it possible to perform §4calcination§r, a process that turns the §7Limestone§r into the §7Quicklime§r. It can also fire §6Coke Oven Bricks§r and §6Firebricks§r. And over all these, it also has a smaller chance of failure than a pit kiln.%n%nTo use a stone kiln, you need to right click the lower/upper part of the kiln to insert fuels/items that you want to smelt, and then ignite it to start the process. +susy.quest.db.618527753.title=Carbon Black +susy.quest.db.618527753.desc=Carbon black is an important component of synthetic rubber manufacturing, strengthening the product. It can be produced by partially combusting residues and heavy fractions in a rotary kiln. susy.quest.db.744003683.title=Pit Kiln susy.quest.db.744003683.desc=The §6Pit Kiln§r is a primitive type of kiln that can be used to turn clays into §4Bricks§r or cobblestones into their corresponding §7Stones§r. However, it is not thermally insulated enough to maintain a higher temperatures required for some other transformations.%n%n To construct a pit kiln, you will need 4 straws and 3 logs. First, lay down a layer of straw by right-clicking the top surface of a block while holding a straw in your hand. Then, right-click it with the item you wish to smelt. Finally, add 3 additional straws and 3 logs; the pit kiln will then be ready to be ignited to start the heating process.%n%n A pit kiln can process a maximum of §a8§r items at a time, with a §4failure chance§r that depends on the specific recipe it is processing. When the pit kiln goes out, break the remaining ash pile to collect your products.%n%nNeed to note that all facings of a pit kiln, except for the top face, should be blocked to maintain thermal insulation. +susy.quest.db.943634333.title=Hydrocracking +susy.quest.db.943634333.desc=§9Hydrocracking§r is a costly process that uses hydrogen to break heavier fractions into lighter fractions at high efficiency. It is best used in combination with §6catalytic cracking§r to convert cycle oil into aromatics (BTEX) and lighter fractions. +susy.quest.db.1056118460.title=Residues +susy.quest.db.1056118460.desc=No Description +susy.quest.db.1090881854.title=Operational Amplifiers +susy.quest.db.1090881854.desc=The §9Operational Amplifier§r (or just Op Amp) is a §6differential amplifier§r which outputs a voltage proportional to the difference of its inputs. These will be the foundation for the next generation of circuits.%n%nNote that you may unlock more efficient potting recipes using §7silicone rubber§r and §7ECN§r, which you may get through oil processing. susy.quest.db.1107188354.title=Stone Anvil susy.quest.db.1107188354.desc=The §6Stone Anvil§r is not much different than a stone, other than its smooth surface which allows you to §4smash things§r on the top of it.%n%nYou'll need this for §7Masonry Bricks§r. +susy.quest.db.1177038065.title=Heated Oil +susy.quest.db.1177038065.desc= +susy.quest.db.1193199034.title=The Gates of Oil Processing Hell +susy.quest.db.1193199034.desc=The §bsieve distillation tower §ris a slightly cheaper version of the regular distillation tower used in oil processing, which allows for more inputs. These will be ubiquitous in petrochemical processing. susy.quest.db.1241306929.title=Chopping Woods susy.quest.db.1241306929.desc=If you are short on wood or simply want to extract more value from it, try chopping it on a §6Chopping Block§r, which will give you 25%% extra planks.%n%n§8But why don't you just move to a forest instead tho...§r susy.quest.db.1319048907.title=Graduated Cylinders susy.quest.db.1319048907.desc=While holding any item which can contain fluids in your main hand (i.e. §7buckets§r, §7fluid cells§r, or §7drums§r, etc.), §a§2punch§r any placed block which can also hold fluids (i.e. §7drums§r, §7fluid hatches§r, or §7GregTech machines§r, etc.) to open the §6transfer GUI§r. Here, you can choose the amount in millibuckets to transfer and the direction.%n%nYou can also transfer fluids §2between two items§r, by right-clicking one on top of the other in an inventory.%n%nThis well help a lot for batch crafting with fluids.%n%n§4§lWARNING: DO NOT use this on Coke Oven Hatches, THIS WILL CRASH YOUR GAME! susy.quest.db.1365346037.title=Early-game Automation susy.quest.db.1365346037.desc=Feeling tried of operating your kilns and ovens manually? Would you like to save time jumping around on your machines? Then be sure to utilize §6Mechanical Hoppers§r. They function like vanilla hoppers but require §6Cogs§r to work. %n%nYou can either craft the cog separately and attach it to the hopper later, or you can use the mechanical hopper recipe with a stone cog. +susy.quest.db.1402916517.title=High Voltage Regulator +susy.quest.db.1402916517.desc=Don't forget to make an §6MV Vacuum Ejector§r for this one. +susy.quest.db.1458175841.title=Kovar +susy.quest.db.1458175841.desc=Kovar is an alloy of iron, nickel, and cobalt that has a very similar thermal expansion coefficient as glass, making it suitable for metal to glass bonds for vacuum tubes. +susy.quest.db.1529184698.title=Lubricating Oil +susy.quest.db.1529184698.desc=§6§lLubricating oil§r is a useful feedstock for lubricant production, derived from residue distillation. It can either be produced by directly hydrotreating the crude feedstock or dewaxed with §bMIBK§r and §1§3Butanone§r to improve yield. The slack wax can be turned into more lubricating oil, turned into resin, or produce treated wood. susy.quest.db.1580653524.title=Stones susy.quest.db.1580653524.desc=By smelting §7Cobblestones§r in a pit kiln, one can get corresponding §7Stones§r. You'll need many of them for §7Masonry Bricks§r. susy.quest.db.1602093300.title=Coke™ @@ -1858,15 +1881,25 @@ susy.quest.db.1610061980.title=Trip Hammer susy.quest.db.1610061980.desc=The §6Trip Hammer§r can swing a hammer for you!%n%nA trip hammer needs a §6Cog§r and a §6Hammer§r to work. You can put §a4§r of them around one anvil to reach the maximum efficiency.%n%nYou can insert items into a anvil using hoppers or pipes, and the product will be dropped in-world unless a chest or another type of storage is placed next to the Trip Hammer, opposite of the side where you insert the Cog. susy.quest.db.1677924297.title=Better Oven susy.quest.db.1677924297.desc=The §6Refractory Oven§r is an upgraded version of the §7Stone Oven§r, which has §a2.5x§r processing speed and a lower change of failure. +susy.quest.db.1766408250.title=The Road to Rubylith +susy.quest.db.1766408250.desc=You may have noticed the rather complicated questline below. It all heads towards §7rubylith§r, which is essentially a really chemically complex sheet of plastic that you use to, essentially, stencil stencils.%n%nDo not worry about automating this; you will only need §76§r to get through HV! Even still, we wish you good luck. susy.quest.db.1766162782.title=Extenders & Bridges susy.quest.db.1766162782.desc=§3§6Bridges§r and §6extenders§r are §cdelegators§r; they can delegate one face of your §bmachine§r or §bpipes§r onto one or more equivalent faces.%n%nBoth bridges and extenders have four variants: §3inv§r, §3tank§r, §3invtank§r, and §5universal§r. As their names suggest, they allow automation of items, fluids, items plus fluids, and, for universal ones, energy as well. §oNone§r of them, however, can attach to other §cdelegators§r.%n%n§6Bridges§r will allow §bpipes§r or §bcables§r from different directions to pass through each other in one block without turning, which will be very useful for compact logistic designs.%n%n§6Extenders§r can expand one face on your §bmachine§r to five faces. An extender has three kinds of faces: §4primary§r, §4secondary§r, and §4normal§r faces. All import/extract actions on the §4normal§r or §4secondary§r faces will be delegated to the §bmachines§r or §bpipes§r adjacent to the §4primary§r face, and the actions on the §4primary§r face will be delegated to the §4secondary§r face.%n%nApart from the §5Universal Delegators§r that require aluminum, you can now craft all §cdelegators§r for your automation. susy.quest.db.1767849062.title=Don't Take Granite for Granted susy.quest.db.1767849062.desc=You might encounter some §dGranite§r while mining underground. §dGranite§r is a type of §cigneous rock§r that is hard and tough, making it an ideal material for crafting §7mortars§r. So, don't ignore it! +susy.quest.db.1786950658.title=Zener Diode +susy.quest.db.1786950658.desc=A special kind of diode that lets current flow backwards above a certain voltage, helping to stabilize power supplies. They're named after Clarence Zener, if you're wondering. +susy.quest.db.1837809262.title=Thermal Cracking +susy.quest.db.1837809262.desc=§cThermal cracking§r is a process that converts residues into lighter fractions using heat. It can be carried out in a roaster at lower efficiency and longer duration or in a cracker. There are three forms of this process: steam cracking, visbreaking, and coking.%n%n- Visbreaking is a milder form of thermal cracking which does not produce pure coke, but leaves behind a residue that can be used as a fuel oil blending component.%n%n- Coking is a severe form of thermal cracking that removes carbon from the fractions as coke, which can be used for metallurgy or as a fuel source.%n%n- Steam cracking is used mainly for lighter fractions to produce olefins (alkenes). susy.quest.db.1867050010.title=Better Kiln susy.quest.db.1867050010.desc=The §6Refractory Kiln§r is an upgraded version of the §7Stone Kiln§r, which has §a2.5x§r processing speed and a lower change of failure. susy.quest.db.1902566957.title=Not Enough Fibers susy.quest.db.1902566957.desc=§6Drying Racks§r can convert §aPlant Fibers§r into §4Dried Plant Fibers§r. If the dried plant fibers obtained by breaking grass are insufficient for your progress, be sure to craft some.%n%nA §6Drying Rack§r operates more quickly in §edry§r biomes and at a slower rate in §bwet§r biomes. The weather may also influence its efficiency. Additionally, if the drying rack is placed near a §cCampfire§r, the drying process will be expedited. susy.quest.db.1958019111.title=Masonry Brick susy.quest.db.1958019111.desc=The §7Masonry Brick§r is essentially a brick-shaped piece of stone. It can be used to construct solid and insulated structures such as §6kilns§r, §6ovens§r, and the §6Primitive Smelter§r, or it can simply be utilized for architectural purposes. %n%nTo obtain some §7Masonry Bricks§r, break stones on an anvil using a pickaxe. +susy.quest.db.1997511526.title=Natural Gas +susy.quest.db.1997511526.desc=No Description susy.quest.db.2081939483.title=Brick susy.quest.db.2081939483.desc=By compressing §3Clays§r in a §6Wooden Form§r, you can get §3Compressed Clays§r, which can be fired in a pit kiln to produce §4Bricks§r. +susy.quest.db.2096017803.title=Fuel Feedstocks +susy.quest.db.2096017803.desc=There are a variety of petrochemical productions that can be blended into gasoline. Below is an overview:%n%n- §e§e§6Naphtha §rand §eLight Naphtha§r, produced directly from the distillation of oil can be used at a low efficiency.%n- §6§cReformate§r and §cReformate Raffinate §rare produced by reforming heavy naphtha into aromatics. These are high performance and have high gasoline yields. Raffinate produces less gasoline, but allows for the extraction of BTEX for petrochemicals.%n- §aPolymerate §rcan be produced from catalytic cracking byproducts in a simple process, with a medium yield.%n- §4Isomerate§r is produced from light na§6§rphtha and a small quantity of hydrogen. This is a high performance feedstock with high yields.%n- §6Alkylate§r is produced from catalytic cracking byproducts, isobutane, and hydrofluoric acid in a slightly more complex process than polymerate. It has a higher performance and thus yields more gasoline, however.%n- §6Pyrolysis Gasoline §rand §6Pyrolysis Raffinate §rare byproducts of steam cracking and yield relatively low amounts of gasoline. Raffinate allows for the production of BTEX, similar to refomrate.%n%nDiesel can be produced from Light Gas Oil (LGO) and Light Cycle Oil (LCO), however light cycle oil typically lowers performance and can only be added in small amounts. As such, LCO is better used with hydrocracking to produce BTEX.%n%nFuel oils are heavier, energy dense fuels that are produced from heavier fractions and residues. These are best used for off-site power generation and marine applications due to the low yields of residua from oils and their high density, allowing for ease of transport. diff --git a/config/gregtech/worldgen/fluid/overworld/natural_gas_deposit.json b/config/gregtech/worldgen/fluid/overworld/natural_gas_deposit.json index 3c491b0fb..59c546122 100644 --- a/config/gregtech/worldgen/fluid/overworld/natural_gas_deposit.json +++ b/config/gregtech/worldgen/fluid/overworld/natural_gas_deposit.json @@ -10,5 +10,5 @@ "chance": 0, "depleted_yield": 400 }, - "fluid": "natural_gas" + "fluid": "crude_natural_gas" } diff --git a/config/gregtech/worldgen/vein/overworld/kieselguhr_deposit.json b/config/gregtech/worldgen/vein/overworld/kieselguhr_deposit.json new file mode 100644 index 000000000..b5f42b5e1 --- /dev/null +++ b/config/gregtech/worldgen/vein/overworld/kieselguhr_deposit.json @@ -0,0 +1,40 @@ +{ + "weight": 30, + "density": 0.9, + "max_height": 70, + "min_height": 58, + "block": "minecraft:sand", + "vein_populator": { + "type": "surface_rock", + "material": "diatomite" + }, + "biome_modifier": { + "type": "biome_map", + "desert": 400, + "river": 300 + }, + "generator": { + "type": "layered", + "radius": [ + 20, + 20 + ] + }, + "filler": { + "type": "layered", + "values": [ + { + "primary": "ore:diatomite" + }, + { + "secondary": "ore:diatomite" + }, + { + "between": "ore:diatomite" + }, + { + "sporadic": "ore:diatomite" + } + ] + } +} diff --git a/config/immersiverailroading.cfg b/config/immersiverailroading.cfg index 38f4c140e..e975e23c1 100644 --- a/config/immersiverailroading.cfg +++ b/config/immersiverailroading.cfg @@ -124,7 +124,6 @@ general { # Note: Naphtha of Thermal Foundation is internally registered as 'refined oil'. # ################################################################################## dieselFuels { - I:fuel_oil=500 I:diesel=500 I:midgrade_gasoline=600 I:syngas=500 diff --git a/groovy/classes/ChangeFlags.groovy b/groovy/classes/ChangeFlags.groovy index 85e005931..95e2d9f8b 100644 --- a/groovy/classes/ChangeFlags.groovy +++ b/groovy/classes/ChangeFlags.groovy @@ -94,6 +94,9 @@ class ChangeFlags { setupFluidType(Selenium, FluidStorageKeys.LIQUID, 494) //setupFluidType(Iron3Chloride, FluidStorageKeys.GAS, 590) + setupFluidType(CarbonDioxide, SusyFluidStorageKeys.SUPERCRITICAL, 304) + setupFluidType(Propane, SusyFluidStorageKeys.SUPERCRITICAL, 370) + Polybenzimidazole.setProperty(SuSyPropertyKey.FIBER, new FiberProperty(false, true, true)) Polytetrafluoroethylene.setProperty(SuSyPropertyKey.FIBER, new FiberProperty(false, true, false)) Polydimethylsiloxane.setProperty(PropertyKey.FLUID, new FluidProperty(FluidStorageKeys.LIQUID, new FluidBuilder())); @@ -124,8 +127,8 @@ class ChangeFlags { Steel.addFlags("generate_spring", "generate_spring_small"); Titanium.addFlags("generate_foil", "generate_spring", "generate_spring_small"); Lead.addFlags("generate_round"); + Nickel.addFlags("generate_rod", "generate_foil"); Aluminium.addFlags("generate_round", "generate_rotor"); - Nickel.addFlags("generate_rod"); Tungsten.addFlags("generate_fine_wire"); Molybdenum.addFlags("generate_fine_wire"); Tantalum.addFlags("generate_rod"); @@ -138,6 +141,7 @@ class ChangeFlags { Alumina.addFlags("generate_catalyst_bed"); Silver.addFlags("generate_catalyst_bed"); Nickel.addFlags("generate_catalyst_bed"); + Magnesia.addFlags("generate_catalyst_bed"); Brass.addFlags("generate_ring"); Indium.addFlags("generate_plate"); BisphenolA.addFlags("no_unification"); @@ -174,7 +178,8 @@ class ChangeFlags { Lepidolite.setFormula("(K,Rb)AlLi2Si4O10(OH,F)2", true); Tetrahedrite.setFormula("Cu12Sb4S13", true); IndiumGalliumPhosphide.setFormula("InGaP2", true); - NetherAir.setFormula("(N78O21Ar9)24(CO2)2(H2S)(SO2)", true) + NetherAir.setFormula("(N78O21Ar9)24(CO2)2(H2S)(SO2)", true); + Diatomite.setFormula("(SiO2)8(Fe2O3)(Al2O3)", true); // Ore Processing diff --git a/groovy/classes/ICryoGas.groovy b/groovy/classes/ICryoGas.groovy index 842f8e3da..6503a0b72 100644 --- a/groovy/classes/ICryoGas.groovy +++ b/groovy/classes/ICryoGas.groovy @@ -1,6 +1,6 @@ package classes -class ICryoGas{ +class ICryoGas { public String normal_gas; public String hot_high_pressure_gas; diff --git a/groovy/classes/ISupercriticalFluid.groovy b/groovy/classes/ISupercriticalFluid.groovy new file mode 100644 index 000000000..dcdb079ab --- /dev/null +++ b/groovy/classes/ISupercriticalFluid.groovy @@ -0,0 +1,55 @@ +package classes + +class ISupercriticalFluid { + + public String supercritical_fluid; + public String starting_gas; + public int critical_temp; + public int EUt; + public int duration; + + public static void main(String[] args){ + //this is needed for some reason, otherwise it will error + } + + public ISupercriticalFluid() { + //this is needed for some reason, otherwise it will error + } + + public ISupercriticalFluid(String gas_starting, String fluid_supercritical) { + this.starting_gas = gas_starting; + this.supercritical_fluid = fluid_supercritical; + } + + public String getSupercriticalFluid() { + return supercritical_fluid; + } + + public String getStartingGas() { + return starting_gas; + } + + public int getCriticalTemperature() { + return critical_temp; + } + + public int getPowerToCompress() { + return EUt; + } + + public int getDurationToCompress() { + return duration; + } + + public void setCriticalTemperature(int temp){ + critical_temp = temp; + } + + public void setPowerToCompress(int power) { + EUt = power; + } + + public void setDurationToCompress(int time) { + duration = time; + } +} \ No newline at end of file diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy index a4731272f..562947b14 100644 --- a/groovy/globals/CarbonGlobals.groovy +++ b/groovy/globals/CarbonGlobals.groovy @@ -64,6 +64,10 @@ class CarbonGlobals { duration = 2 pyrolysis_product = 'dustCarbon' }, + new CarbonSource('dustGreenCoke', 100, 'dustTinyAsh').withTraits(HighPurityCombustible, Pyrolyzable).tap { + duration = 2 + pyrolysis_product = 'dustCarbon' + }, new CarbonSource('gemAnthracite', 90, 'dustTinyAsh').withTraits(Combustible, Pyrolyzable).tap { duration = 2 pyrolysis_product = 'gemCoke' diff --git a/groovy/globals/Petrochemistry.groovy b/groovy/globals/Petrochemistry.groovy new file mode 100644 index 000000000..5ffc0ea31 --- /dev/null +++ b/groovy/globals/Petrochemistry.groovy @@ -0,0 +1,176 @@ +package globals + +class Petrochemistry { + + public static void main (String[] args) {} + + public static class Oil { + String name + String brine + + Oil(String name, String brine) { + this.name = name + this.brine = brine + } + + def getDiluted(int amount) { + return fluid('diluted_' + this.name) * amount + } + + def getDesalted(int amount) { + return fluid('desalted_' + this.name) * amount + } + + def getHeated(int amount) { + return fluid('heated_' + this.name) * amount + } + + def getBrine(int amount) { + return fluid(this.brine) * amount + } + + def get(int amount) { + return fluid(this.name) * amount + } + } + + trait CatalyticCrackable { + boolean catalytic_crackable = true + + def getCatalyticallyCracked(int amount) { + return fluid('catalytically_cracked_' + this.name) * amount + } + + def getCrudeCatalyticallyCracked(int amount) { + return fluid('crude_catalytically_cracked_' + this.name) * amount + } + } + + trait ThermalCrackable { + boolean thermal_crackable = true + + def getThermallyCracked(int amount) { + return fluid('thermally_cracked_' + this.name) * amount + } + + def getQuenched(int amount) { + return fluid('quenched_' + this.name) * amount + } + } + + trait HydroCrackable { + boolean hydro_crackable = true + int hydrogen_consumed + int gas_produced + + def getHydro(int amount) { + return fluid('hydrocracked_' + this.name) * amount + } + } + + trait SteamCrackable { + boolean steam_crackable = true + + def getSteam(int amount) { + return fluid('steamcracked_' + this.name) * amount + } + } + + trait Heatable { + def getHeated(int amount) { + return fluid('heated_' + this.name) * amount + } + } + + trait Sulfuric { + boolean sulfuric = true + + def getTreatedSulfuric(int amount) { + return fluid('treated_sulfuric_' + this.name) * amount + } + + def getSulfuric(int amount) { + return fluid('sulfuric_' + this.name) * amount + } + } + + trait Crude { + def getCrude(int amount) { + return fluid('crude_' + this.name) * amount + } + } + + trait Strippable extends Crude { + boolean strippable = true + } + + public static class OilFraction { + String name + boolean strippable = false + boolean sulfuric = false + + OilFraction(String name) { + this.name = name + } + + def get(int amount) { + return fluid(this.name) * amount + } + } + + public static class Crackable { + String name + boolean thermal_crackable = false + boolean hydro_crackable = false + boolean steam_crackable = false + boolean catalytic_crackable = false + + Crackable(String name) { + this.name = name + } + + def get(int amount) { + return fluid(this.name) * amount + } + } + + /* Data on fractions + - Fuel gas: 3.56 carbons per mol 51.8 g/mol + - Light naphtha: 5.5 carbons per mol 77 g/mol + - Full naphtha: 6.5 carbons per mol 91 g/mol + - Heavy naphtha: 9 carbons per mol 126 g/mol + - Kerosene: 11.5 carbons per mol 161.6 g/mol + - Light gas oil: 15.5 carbons per mol 215.6 g/mol + - Heavy gas oil: 20 carbons per mol 274.5 g/mol + - Atm. residuum: 40 carbons per mol 547.6 g/mol + - Vac. residuum: 45 carbons per mol 603.0 g/mol + - Light cycle oil: 12 carbons per mol 163.5 g/mol + */ + + public static fractions = [ + heavy_gas_oil : new OilFraction('heavy_gas_oil').withTraits(Sulfuric, Heatable, Strippable), + light_gas_oil : new OilFraction('light_gas_oil').withTraits(Sulfuric, Heatable, Strippable), + kerosene : new OilFraction('kerosene').withTraits(Sulfuric, Heatable, Strippable), + heavy_naphtha : new OilFraction('heavy_naphtha').withTraits(Sulfuric, Heatable), + light_cycle_oil : new OilFraction('light_cycle_oil').withTraits(Sulfuric, Heatable), + naphtha : new OilFraction('naphtha').withTraits(Crude), + light_naphtha : new OilFraction('light_naphtha').withTraits(Sulfuric, Heatable), + ] + + public static crackables = [ + vacuum_oil_residue : new Crackable('vacuum_oil_residue').withTraits(CatalyticCrackable, HydroCrackable, ThermalCrackable).tap { hydrogen_consumed = 3560; gas_produced = 550 }, + atmospheric_oil_residue : new Crackable('atmospheric_oil_residue').withTraits(CatalyticCrackable, HydroCrackable, ThermalCrackable).tap { hydrogen_consumed = 3540; gas_produced = 610 }, + light_gas_oil : new Crackable('light_gas_oil').withTraits(HydroCrackable, SteamCrackable).tap { hydrogen_consumed = 880; gas_produced = 1790 }, + heavy_gas_oil : new Crackable('heavy_gas_oil').withTraits(CatalyticCrackable, HydroCrackable, SteamCrackable).tap { hydrogen_consumed = 1490; gas_produced = 1020 }, + ethane : new Crackable('ethane').withTraits(SteamCrackable), + propane : new Crackable('propane').withTraits(SteamCrackable), + butane : new Crackable('butane').withTraits(SteamCrackable), + light_cycle_oil : new Crackable('light_cycle_oil').withTraits(HydroCrackable).tap { hydrogen_consumed = 1130; gas_produced = 1290 } + ] + + public static oils = [ + oil: new Oil('oil', 'oily_brine'), + oil_light: new Oil('oil_light', 'light_oily_brine'), + oil_heavy: new Oil('oil_heavy', 'heavy_oily_brine') + ] +} \ No newline at end of file diff --git a/groovy/globals/SinteringGlobals.groovy b/groovy/globals/SinteringGlobals.groovy index d5009f0e4..63a5e75f7 100644 --- a/groovy/globals/SinteringGlobals.groovy +++ b/groovy/globals/SinteringGlobals.groovy @@ -52,7 +52,6 @@ class SinteringGlobals { new Combustible('methane', false, 10, 50, 'carbon_dioxide', 5), new Combustible('syngas', false, 10, 50, 'carbon_dioxide', 5), new Combustible('natural_gas', false, 10, 50, 'carbon_dioxide', 5), - new Combustible('refinery_gas', false, 10, 50, 'carbon_dioxide', 5), new Combustible('plasma.helium', true, 10, 5, 'helium', 10) ] @@ -68,8 +67,7 @@ class SinteringGlobals { public static rotary_kiln_fuels = [ new Combustible('methane', false, 25, 50, 'carbon_dioxide', 25), new Combustible('natural_gas', false, 8, 50, 'carbon_dioxide', 25), - new Combustible('refinery_gas', false, 8, 50, 'carbon_dioxide', 25), - new Combustible('fuel_oil', false, 4, 50, 'carbon_dioxide', 25) + new Combustible('light_gas_oil', false, 4, 50, 'carbon_dioxide', 25), ] public static rotary_kiln_comburents = [ diff --git a/groovy/material/FirstDegreeMaterials.groovy b/groovy/material/FirstDegreeMaterials.groovy index 34d133fc3..efdad72b8 100644 --- a/groovy/material/FirstDegreeMaterials.groovy +++ b/groovy/material/FirstDegreeMaterials.groovy @@ -2098,7 +2098,12 @@ public class FirstDegreeMaterials { TreatedSamariumAlloy.getProperty(PropertyKey.INGOT).setMagneticMaterial(SamariumAlloyMagnetic); - //FREE ID: 8406 + CobaltNitrateSolution = new Material.Builder(8406, SuSyUtility.susyId('cobalt_nitrate_solution')) + .liquid() + .components(Cobalt, Nitrogen * 2, Oxygen * 6, Water) + .colorAverage() + .build() + .setFormula("(Co(NO3)2)(H2O)", true) Dichlorosilane = new Material.Builder(8407, SuSyUtility.susyId('dichlorosilane')) .gas() @@ -2578,7 +2583,14 @@ public class FirstDegreeMaterials { .color(0xcaddfa) .build(); - //FREE IDs: 8481-8485 + HeatedGreenCoke = new Material.Builder(8481, SuSyUtility.susyId('heated_green_coke')) + .gem(1, 2000) + .color(0x7b8752).iconSet(LIGNITE) + .components(Carbon) + .flags(FLAMMABLE, NO_SMELTING, NO_SMASHING, MORTAR_GRINDABLE) + .build(); + + //FREE IDs: 8482-8485 UltramaficTailingSlurry = new Material.Builder(8486, SuSyUtility.susyId('ultramafic_tailing_slurry')) .liquid() @@ -3080,7 +3092,13 @@ public class FirstDegreeMaterials { .colorAverage() .build(); - // FREE ID: 8572 + AmmoniumMetatungstate = new Material.Builder(8571, SuSyUtility.susyId('ammonium_metatungstate')) + .dust() + .components(Nitrogen * 6, Hydrogen * 26, Tungsten * 12, Oxygen * 40) + .color(0x400959) + .build(); + + AmmoniumMetatungstate.setFormula("(NH4)6(H2W12O40)", true) ImpureBariumSulfide = new Material.Builder(8572, SuSyUtility.susyId("impure_barium_sulfide")) .dust() @@ -3407,9 +3425,10 @@ public class FirstDegreeMaterials { Kovar = new Material.Builder(8619, SuSyUtility.susyId('kovar')) .ingot() .iconSet(SHINY) - .flags(GENERATE_ROD, GENERATE_LONG_ROD, GENERATE_RING, GENERATE_PLATE, NO_UNIFICATION) + .flags(GENERATE_ROD, GENERATE_LONG_ROD, GENERATE_RING, GENERATE_PLATE, DISABLE_DECOMPOSITION) .components(Iron * 2, Nickel * 1, Cobalt * 1) .colorAverage() + .blastTemp(1723, GasTier.LOW, 120, 24) .build(); Kovar.setFormula("Fe10Ni5Co3", true) diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index fec848a4e..dc6050632 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -488,10 +488,10 @@ public class OrganicChemistryMaterials { .colorAverage() .build(); - OneOneDichloroethane = new Material.Builder(15080, SuSyUtility.susyId('one_one_dichloroethane')) - .liquid() - .components(Carbon * 2, Hydrogen * 4, Chlorine * 2) - .colorAverage() + TwoFourFiveXylenolMixture = new Material.Builder(15080, SuSyUtility.susyId('two_four_five_xylenol_mixture')) + .liquid(new FluidBuilder().temperature(400)) + .components(Carbon * 8, Hydrogen * 10, Oxygen * 1) + .color(0x6e3632) .build(); Butyllithium = new Material.Builder(15081, SuSyUtility.susyId('butyllithium')) @@ -505,7 +505,17 @@ public class OrganicChemistryMaterials { .color(0x332e2c) .build(); - //FREE ID: 15084-15085 + TwoFourFiveXylenolMixture = new Material.Builder(15084, SuSyUtility.susyId('two_four_five_xylenol_mixture')) + .liquid(new FluidBuilder().temperature(400)) + .components(Carbon * 8, Hydrogen * 10, Oxygen * 1) + .color(0x6e3632) + .build(); + + TwoSixXylenol = new Material.Builder(15085, SuSyUtility.susyId('two_six_xylenol')) + .liquid(new FluidBuilder().temperature(400)) + .components(Carbon * 8, Hydrogen * 10, Oxygen * 1) + .color(0x572d2a) + .build(); Acetylene = new Material.Builder(15086, SuSyUtility.susyId('acetylene')) .gas() @@ -560,8 +570,12 @@ public class OrganicChemistryMaterials { .components(Carbon * 4, Hydrogen * 6, Oxygen * 2) .color(0x4242f5) .build(); - - //FREE ID: 15095 + + OneOneDichloroethane = new Material.Builder(15095, SuSyUtility.susyId('one_one_dichloroethane')) + .liquid() + .components(Carbon * 2, Hydrogen * 4, Chlorine * 2) + .colorAverage() + .build(); DimethyldichlorosilaneEmulsion = new Material.Builder(15096, SuSyUtility.susyId('dimethyldichlorosilane_emulsion')) .liquid() @@ -1379,7 +1393,12 @@ public class OrganicChemistryMaterials { .color(0x403c32) .build(); - //FREE ID: 15226 + HexamethylenetetramineSolution = new Material.Builder(15226, SuSyUtility.susyId('hexamethylenetetramine_solution')) + .liquid() + .components(Carbon * 6, Hydrogen * 12, Nitrogen * 4, Water * 4) + .colorAverage() + .build() + .setFormula("(C6H12N4)(H2O)4", true) Ferrocene = new Material.Builder(15227, SuSyUtility.susyId('ferrocene')) .dust() @@ -1436,7 +1455,10 @@ public class OrganicChemistryMaterials { .color(0xd13485) .build(); - //FREE ID: 15235 + AcidicRichAmine = new Material.Builder(15235, SuSyUtility.susyId('acidic_rich_amine')) + .liquid() + .color(0x6ca0ab) + .build(); OctylHydroxamicAcid = new Material.Builder(15236, SuSyUtility.susyId('octyl_hydroxamic_acid')) .dust() @@ -2044,7 +2066,11 @@ public class OrganicChemistryMaterials { .color(0xd3d4ae) .build(); - //FREE ID: 15332 + TriethyleneGlycol = new Material.Builder(15332, SuSyUtility.susyId('triethylene_glycol')) + .liquid() + .components(Carbon * 6, Hydrogen * 14, Oxygen * 4) + .color(0x27a8a2) + .build() OneNitronaphthalene = new Material.Builder(15333, SuSyUtility.susyId('one_nitronaphthalene')) .dust() @@ -2552,5 +2578,23 @@ public class OrganicChemistryMaterials { .components(Carbon * 2, Hydrogen * 4, Oxygen * 1) .color(0xd4984e) .build(); + + CompoundedPolyisoprene = new Material.Builder(15411, SuSyUtility.susyId('compounded_polyisoprene')) + .dust() + .components(Isoprene) + .color(0x121212) + .build(); + + CompoundedStyreneIsopreneRubber = new Material.Builder(15412, SuSyUtility.susyId('compounded_styrene_isoprene_rubber')) + .dust() + .components(Isoprene * 3, Styrene * 1) + .color(0x260418) + .build(); + + CompoundedStyreneButadieneRubber = new Material.Builder(15413, SuSyUtility.susyId('compounded_styrene_butadiene_rubber')) + .dust() + .components(Butadiene * 3, Styrene * 1) + .color(0x3b2d2b) + .build(); } } diff --git a/groovy/material/PetrochemistryMaterials.groovy b/groovy/material/PetrochemistryMaterials.groovy index e0725a0eb..b49900a54 100644 --- a/groovy/material/PetrochemistryMaterials.groovy +++ b/groovy/material/PetrochemistryMaterials.groovy @@ -24,11 +24,13 @@ public class PetrochemistryMaterials { DilutedOilLight = new Material.Builder(20000, SuSyUtility.susyId('diluted_oil_light')) .liquid() .color(0x2d2f3b) + .flags(FLAMMABLE) .build(); DilutedOil = new Material.Builder(20001, SuSyUtility.susyId('diluted_oil')) .liquid() .color(0x2d2f3b) + .flags(FLAMMABLE) .build(); DilutedOilHeavy = new Material.Builder(20002, SuSyUtility.susyId('diluted_oil_heavy')) @@ -39,56 +41,67 @@ public class PetrochemistryMaterials { DesaltedOilHeavy = new Material.Builder(20003, SuSyUtility.susyId('desalted_oil_heavy')) .liquid() .color(0x000000) + .flags(FLAMMABLE) .build(); DesaltedOilLight = new Material.Builder(20004, SuSyUtility.susyId('desalted_oil_light')) .liquid() .color(0x000000) + .flags(FLAMMABLE) .build(); DesaltedOil = new Material.Builder(20005, SuSyUtility.susyId('desalted_oil')) .liquid() .color(0x000000) + .flags(FLAMMABLE) .build(); OilyBrine = new Material.Builder(20006, SuSyUtility.susyId('oily_brine')) .liquid() .color(0x69684e) + .flags(FLAMMABLE) .build(); - SulfuricOilResidue = new Material.Builder(20007, SuSyUtility.susyId('sulfuric_oil_residue')) - .liquid() + AtmosphericOilResidue = new Material.Builder(20007, SuSyUtility.susyId('atmospheric_oil_residue')) + .liquid(new FluidBuilder().temperature(620)) .color(0x59572b) + .flags(FLAMMABLE) .build(); - SulfuricFuelOil = new Material.Builder(20009, SuSyUtility.susyId('sulfuric_fuel_oil')) + SulfuricHeavyGasOil = new Material.Builder(20009, SuSyUtility.susyId('sulfuric_heavy_gas_oil')) .liquid() .color(0x858135) + .flags(FLAMMABLE) .build(); - TreatedSulfuricFuelOil = new Material.Builder(20010, SuSyUtility.susyId('treated_sulfuric_fuel_oil')) + TreatedSulfuricHeavyGasOil = new Material.Builder(20010, SuSyUtility.susyId('treated_sulfuric_heavy_gas_oil')) .liquid() .color(0x9e9a4f) + .flags(FLAMMABLE) .build(); CrudeNaturalGas = new Material.Builder(20011, SuSyUtility.susyId('crude_natural_gas')) .gas() .color(0xc9c9b9) + .flags(FLAMMABLE) .build(); SulfuricNaturalGas = new Material.Builder(20012, SuSyUtility.susyId('sulfuric_natural_gas')) .gas() .color(0xe3e3d1) + .flags(FLAMMABLE) .build(); TreatedSulfuricNaturalGas = new Material.Builder(20013, SuSyUtility.susyId('treated_sulfuric_natural_gas')) .gas() .color(0xf7f7eb) + .flags(FLAMMABLE) .build(); - TreatedSulfuricRefineryGas = new Material.Builder(20014, SuSyUtility.susyId('treated_sulfuric_refinery_gas')) - .gas() - .color(0xe3e3d8) + RPOne = new Material.Builder(20014, SuSyUtility.susyId('rp_one')) + .liquid() + .color(0xe04526) + .flags(FLAMMABLE) .build(); SourGas = new Material.Builder(20015, SuSyUtility.susyId('sour_gas')) @@ -96,24 +109,28 @@ public class PetrochemistryMaterials { .color(0xebeba4) .build(); - SulfuricDiesel = new Material.Builder(20016, SuSyUtility.susyId('sulfuric_diesel')) + SulfuricLightGasOil = new Material.Builder(20016, SuSyUtility.susyId('sulfuric_light_gas_oil')) .liquid() .color(0xa8a232) + .flags(FLAMMABLE) .build(); - TreatedSulfuricDiesel = new Material.Builder(20017, SuSyUtility.susyId('treated_sulfuric_diesel')) + TreatedSulfuricLightGasOil = new Material.Builder(20017, SuSyUtility.susyId('treated_sulfuric_light_gas_oil')) .liquid() .color(0xc2bb42) + .flags(FLAMMABLE) .build(); SulfuricKerosene = new Material.Builder(20018, SuSyUtility.susyId('sulfuric_kerosene')) .liquid() .color(0xbfb82a) + .flags(FLAMMABLE) .build(); TreatedSulfuricKerosene = new Material.Builder(20019, SuSyUtility.susyId('treated_sulfuric_kerosene')) .liquid() .color(0xd6cf3a) + .flags(FLAMMABLE) .build(); Kerosene = new Material.Builder(20020, SuSyUtility.susyId('kerosene')) @@ -122,17 +139,19 @@ public class PetrochemistryMaterials { .flags(FLAMMABLE) .build(); - SulfuricGasoline = new Material.Builder(20021, SuSyUtility.susyId('sulfuric_gasoline')) - .liquid() - .color(0xe8df23) + VacuumOilResidue = new Material.Builder(20021, SuSyUtility.susyId('vacuum_oil_residue')) + .liquid(new FluidBuilder().temperature(770)) + .color(0x21211c) + .flags(FLAMMABLE) .build(); - TreatedSulfuricGasoline = new Material.Builder(20022, SuSyUtility.susyId('treated_sulfuric_gasoline')) + DeasphaltedOil = new Material.Builder(20022, SuSyUtility.susyId('deasphalted_oil')) .liquid() - .color(0xf7ef40) + .color(0x24261c) + .flags(FLAMMABLE) .build(); - FuelOil = new Material.Builder(20023, SuSyUtility.susyId('fuel_oil')) + HeavyGasOil = new Material.Builder(20023, SuSyUtility.susyId('heavy_gas_oil')) .liquid() .color(0x9e9a4f) .flags(FLAMMABLE) @@ -147,11 +166,13 @@ public class PetrochemistryMaterials { SlackWax = new Material.Builder(20025, SuSyUtility.susyId('slack_wax')) .liquid() .color(0x7d7b59) + .flags(FLAMMABLE) .build(); Resin = new Material.Builder(20026, SuSyUtility.susyId('resin')) .liquid() .color(0xb5803a) + .flags(FLAMMABLE) .build(); UncatalyzedSulfurousGases = new Material.Builder(20027, SuSyUtility.susyId('uncatalyzed_sulfurous_gases')) @@ -162,113 +183,167 @@ public class PetrochemistryMaterials { NaphthaReformate = new Material.Builder(20028, SuSyUtility.susyId('naphtha_reformate')) .liquid(new FluidBuilder().temperature(773)) .color(0xf2f2a0) + .flags(FLAMMABLE) .build(); BtexExtract = new Material.Builder(20029, SuSyUtility.susyId('btex_extract')) .liquid() .color(0xa8a87d) + .flags(FLAMMABLE) .build(); BTEX = new Material.Builder(20030, SuSyUtility.susyId('btex')) .liquid() .color(0x828267) + .flags(FLAMMABLE) .build(); - LightlySteamcrackedKerosene = new Material.Builder(20031, SuSyUtility.susyId('lightly_steamcracked_kerosene')) - .liquid(new FluidBuilder().temperature(773)) + SteamcrackedLightNaphtha = new Material.Builder(20031, SuSyUtility.susyId('steamcracked_light_naphtha')) + .gas(new FluidBuilder().temperature(1223)) .color(0xe3dd59) + .flags(FLAMMABLE) .build(); - SeverelySteamcrackedKerosene = new Material.Builder(20032, SuSyUtility.susyId('severely_steamcracked_kerosene')) - .liquid(new FluidBuilder().temperature(773)) + SteamcrackedHeavyNaphtha = new Material.Builder(20032, SuSyUtility.susyId('steamcracked_heavy_naphtha')) + .gas(new FluidBuilder().temperature(1223)) .color(0xf2ed83) + .flags(FLAMMABLE) .build(); - LightlyHydrocrackedKerosene = new Material.Builder(20033, SuSyUtility.susyId('lightly_hydrocracked_kerosene')) - .liquid(new FluidBuilder().temperature(773)) - .color(0xc4bf51) - .build(); + // FREE IDs: 20033-20034 - SeverelyHydrocrackedKerosene = new Material.Builder(20034, SuSyUtility.susyId('severely_hydrocracked_kerosene')) - .liquid(new FluidBuilder().temperature(773)) - .color(0xbab65f) + SteamcrackedLightGasOil = new Material.Builder(20035, SuSyUtility.susyId('steamcracked_light_gas_oil')) + .gas(new FluidBuilder().temperature(1223)) + .color(0xb09046) + .flags(FLAMMABLE) .build(); - LightlySteamcrackedGasoline = new Material.Builder(20035, SuSyUtility.susyId('lightly_steamcracked_gasoline')) - .liquid(new FluidBuilder().temperature(773)) - .color(0xebe34d) + SteamcrackedHeavyGasOil = new Material.Builder(20036, SuSyUtility.susyId('steamcracked_heavy_gas_oil')) + .gas(new FluidBuilder().temperature(1223)) + .color(0x997b37) + .flags(FLAMMABLE) .build(); - SeverelySteamcrackedGasoline = new Material.Builder(20036, SuSyUtility.susyId('severely_steamcracked_gasoline')) - .liquid(new FluidBuilder().temperature(773)) - .color(0xf5ed62) - .build(); + HydrocrackedLightGasOil = new Material.Builder(20037, SuSyUtility.susyId('hydrocracked_light_gas_oil')) + .gas(new FluidBuilder().temperature(573)) + .color(0xb0ac64) + .flags(FLAMMABLE) + .build() - LightlyHydrocrackedGasoline = new Material.Builder(20037, SuSyUtility.susyId('lightly_hydrocracked_gasoline')) - .liquid(new FluidBuilder().temperature(773)) - .color(0xccc43f) - .build(); + HydrocrackedHeavyGasOil = new Material.Builder(20038, SuSyUtility.susyId('hydrocracked_heavy_gas_oil')) + .gas(new FluidBuilder().temperature(573)) + .color(0x9e9a64) + .flags(FLAMMABLE) + .build() + + CatalyticallyCrackedHeavyGasOil = new Material.Builder(20039, SuSyUtility.susyId('catalytically_cracked_heavy_gas_oil')) + .gas(new FluidBuilder().temperature(773)) + .color(0xb8b24d) + .flags(FLAMMABLE) + .build() - SeverelyHydrocrackedGasoline = new Material.Builder(20038, SuSyUtility.susyId('severely_hydrocracked_gasoline')) - .liquid(new FluidBuilder().temperature(773)) - .color(0xbdb648) - .build(); + CatalyticallyCrackedAtmosphericOilResidue = new Material.Builder(20040, SuSyUtility.susyId('catalytically_cracked_atmospheric_oil_residue')) + .gas(new FluidBuilder().temperature(773)) + .color(0x666328) + .flags(FLAMMABLE) + .build() - UpgradedLubricatingOilMix = new Material.Builder(20054, SuSyUtility.susyId('upgraded_lubricating_oil_mix')) + CatalyticallyCrackedVacuumOilResidue = new Material.Builder(20041, SuSyUtility.susyId('catalytically_cracked_vacuum_oil_residue')) .liquid(new FluidBuilder().temperature(773)) - .color(0x948f43) - .build(); + .color(0x26261b) + .flags(FLAMMABLE) + .build() + + HydrocrackedAtmosphericOilResidue = new Material.Builder(20042, SuSyUtility.susyId('hydrocracked_atmospheric_oil_residue')) + .liquid(new FluidBuilder().temperature(573)) + .color(0x595746) + .flags(FLAMMABLE) + .build() - UpgradedFuelOilMix = new Material.Builder(20055, SuSyUtility.susyId('upgraded_fuel_oil_mix')) - .liquid(new FluidBuilder().temperature(773)) - .color(0x918d33) - .build(); + HydrocrackedVacuumOilResidue = new Material.Builder(20043, SuSyUtility.susyId('hydrocracked_vacuum_oil_residue')) + .liquid(new FluidBuilder().temperature(573)) + .color(0x212126) + .flags(FLAMMABLE) + .build() - UpgradedDieselMix = new Material.Builder(20056, SuSyUtility.susyId('upgraded_diesel_mix')) - .liquid(new FluidBuilder().temperature(773)) - .color(0xbab32f) - .build(); + ThermallyCrackedAtmosphericOilResidue = new Material.Builder(20044, SuSyUtility.susyId('thermally_cracked_atmospheric_oil_residue')) + .gas(new FluidBuilder().temperature(873)) + .color(0x5c5812) + .flags(FLAMMABLE) + .build() - UpgradedKeroseneMix = new Material.Builder(20057, SuSyUtility.susyId('upgraded_kerosene_mix')) - .liquid(new FluidBuilder().temperature(773)) - .color(0xe3db30) - .build(); + ThermallyCrackedVacuumOilResidue = new Material.Builder(20045, SuSyUtility.susyId('thermally_cracked_vacuum_oil_residue')) + .gas(new FluidBuilder().temperature(873)) + .color(0x333318) + .flags(FLAMMABLE) + .build() + + // FREE IDs: 20046-40048 + + HydrocrackedLightCycleOil = new Material.Builder(20049, SuSyUtility.susyId('hydrocracked_light_cycle_oil')) + .gas(new FluidBuilder().temperature(673)) + .color(0xdec5a0) + .flags(FLAMMABLE) + .build() + + // FREE IDs: 20050-20054 - UpgradedNaphthaMix = new Material.Builder(20058, SuSyUtility.susyId('upgraded_naphtha_mix')) + CrudeCatalyticallyCrackedHeavyGasOil = new Material.Builder(20053, SuSyUtility.susyId('crude_catalytically_cracked_heavy_gas_oil')) + .gas(new FluidBuilder().temperature(773)) + .color(0xaba64d) + .flags(FLAMMABLE) + .build() + + CrudeCatalyticallyCrackedAtmosphericOilResidue = new Material.Builder(20054, SuSyUtility.susyId('crude_catalytically_cracked_atmospheric_oil_residue')) + .gas(new FluidBuilder().temperature(773)) + .color(0x575425) + .flags(FLAMMABLE) + .build() + + CrudeCatalyticallyCrackedVacuumOilResidue = new Material.Builder(20055, SuSyUtility.susyId('crude_catalytically_cracked_vacuum_oil_residue')) .liquid(new FluidBuilder().temperature(773)) - .color(0xf0e83e) - .build(); + .color(0x1f1f17) + .flags(FLAMMABLE) + .build() - AlkylatedNaturalGas = new Material.Builder(20059, SuSyUtility.susyId('alkylated_natural_gas')) - .gas() - .color(0xe6e4c1) - .build(); + QuenchedAtmosphericOilResidue = new Material.Builder(20056, SuSyUtility.susyId('quenched_atmospheric_oil_residue')) + .gas(new FluidBuilder().temperature(873)) + .color(0x4a4718) + .flags(FLAMMABLE) + .build() - AlkylatedRefineryGas = new Material.Builder(20060, SuSyUtility.susyId('alkylated_refinery_gas')) - .gas() - .color(0xf7f5cb) - .build(); + QuenchedVacuumOilResidue = new Material.Builder(20057, SuSyUtility.susyId('quenched_vacuum_oil_residue')) + .gas(new FluidBuilder().temperature(873)) + .color(0x292917) + .flags(FLAMMABLE) + .build() + + //FREE IDs: 20056-20060 Syngas = new Material.Builder(20061, SuSyUtility.susyId('syngas')) .gas() .color(0xf2ecdc) .flags(FLAMMABLE) .build() - .setFormula('(H)6(CO)', true); + .setFormula('(H2)3(CO)', true); ReformedSyngas = new Material.Builder(20062, SuSyUtility.susyId('reformed_syngas')) .gas(new FluidBuilder().temperature(800)) .color(0xfcf3d9) - .build(); + .flags(FLAMMABLE) + .build() + .setFormula('(H2)4(CO2)', true); - SulfuricRefineryGas = new Material.Builder(20063, SuSyUtility.susyId('sulfuric_refinery_gas')) - .gas() - .color(0xe3e3d8) + ClarifiedSlurryOil = new Material.Builder(20063, SuSyUtility.susyId('clarified_slurry_oil')) + .liquid() + .color(0x302618) + .flags(FLAMMABLE) .build(); TreatedSulfuricNaphtha = new Material.Builder(20064, SuSyUtility.susyId('treated_sulfuric_naphtha')) .gas() .color(0xcec929) + .flags(FLAMMABLE) .build(); LightOilyBrine = new Material.Builder(20065, SuSyUtility.susyId('light_oily_brine')) @@ -281,54 +356,450 @@ public class PetrochemistryMaterials { .color(0x4f4e37) .build(); - LightBitumenSolution = new Material.Builder(20067, SuSyUtility.susyId('light_bitumen_solution')) + AsphalteneExtract = new Material.Builder(20067, SuSyUtility.susyId('asphaltene_extract')) .liquid() .color(0x1e2021) + .flags(FLAMMABLE) .build(); - BitumenSolution = new Material.Builder(20068, SuSyUtility.susyId('bitumen_solution')) + PyrolysisGasoline = new Material.Builder(20068, SuSyUtility.susyId('pyrolysis_gasoline')) .liquid() - .color(0x1e2021) + .color(0xe6ba5c) + .flags(FLAMMABLE) .build(); - HeavyBitumenSolution = new Material.Builder(20069, SuSyUtility.susyId('heavy_bitumen_solution')) - .liquid() - .color(0x1e2021) - .build(); + //FREE ID: 20069 CrudeLubricatingOil = new Material.Builder(20070, SuSyUtility.susyId('crude_lubricating_oil')) .liquid() .color(0x80743c) + .flags(FLAMMABLE) .build(); SolventLubricantMixture = new Material.Builder(20071, SuSyUtility.susyId('solvent_lubricant_mixture')) .liquid() .color(0x6e803c) + .flags(FLAMMABLE) .build(); ColdSolventLubricantMixture = new Material.Builder(20072, SuSyUtility.susyId('cold_solvent_lubricant_mixture')) .liquid(new FluidBuilder().temperature(273)) .color(0x5e8064) + .flags(FLAMMABLE) .build(); DewaxedLubricantMixture = new Material.Builder(20073, SuSyUtility.susyId('dewaxed_lubricant_mixture')) .liquid() .color(0x7d782e) + .flags(FLAMMABLE) .build(); SulfuricLubricatingOil = new Material.Builder(20074, SuSyUtility.susyId('sulfuric_lubricating_oil')) .liquid() .color(0x7d782e) + .flags(FLAMMABLE) .build(); CFiveFraction = new Material.Builder(20075, SuSyUtility.susyId('c_five_fraction')) .liquid() .color(0x9c8638) + .flags(FLAMMABLE) .build(); DimerizedCFiveFraction = new Material.Builder(20076, SuSyUtility.susyId('dimerized_c_five_fraction')) .liquid() .color(0x9c9538) + .flags(FLAMMABLE) + .build(); + + CrudeKerosene = new Material.Builder(20077, SuSyUtility.susyId('crude_kerosene')) + .liquid(new FluidBuilder().temperature(480)) + .color(0xa8a225) + .flags(FLAMMABLE) + .build(); + + CrudeLightGasOil = new Material.Builder(20078, SuSyUtility.susyId('crude_light_gas_oil')) + .liquid() + .color(0x96912c) + .flags(FLAMMABLE) + .build(); + + CrudeHeavyGasOil = new Material.Builder(20079, SuSyUtility.susyId('crude_heavy_gas_oil')) + .liquid(new FluidBuilder().temperature(610)) + .color(0x706d2c) + .flags(FLAMMABLE) + .build(); + + HeatedOilLight = new Material.Builder(20080, SuSyUtility.susyId('heated_oil_light')) + .liquid(new FluidBuilder().temperature(400)) + .color(0x2d2f3b) + .flags(FLAMMABLE) + .build(); + + HeatedOil = new Material.Builder(20081, SuSyUtility.susyId('heated_oil')) + .liquid(new FluidBuilder().temperature(400)) + .color(0x2d2f3b) + .flags(FLAMMABLE) + .build(); + + HeatedOilHeavy = new Material.Builder(20082, SuSyUtility.susyId('heated_oil_heavy')) + .liquid(new FluidBuilder().temperature(400)) + .color(0x2d2f3b) + .flags(FLAMMABLE) + .build(); + + HeavyGasOil = new Material.Builder(20083, SuSyUtility.susyId('heavy_gas_oil')) + .liquid() + .color(0x878444) + .flags(FLAMMABLE) + .build(); + + LightGasOil = new Material.Builder(20084, SuSyUtility.susyId('light_gas_oil')) + .liquid(new FluidBuilder().temperature(540)) + .color(0xb0ac58) + .flags(FLAMMABLE) + .build(); + + CrudeNaphtha = new Material.Builder(20085, SuSyUtility.susyId('crude_naphtha')) + .liquid(new FluidBuilder().temperature(460)) + .color(0xa6a21f) + .flags(FLAMMABLE) + .build(); + + AtmosphericOverheads = new Material.Builder(20086, SuSyUtility.susyId('atmospheric_overheads')) + .gas(new FluidBuilder().temperature(460)) + .color(0xe3e6a3) + .flags(FLAMMABLE) + .build(); + + HeavyAtmosphericOverheads = new Material.Builder(20087, SuSyUtility.susyId('heavy_atmospheric_overheads')) + .gas(new FluidBuilder().temperature(460)) + .color(0xe8ebb5) + .flags(FLAMMABLE) + .build(); + + LightAtmosphericOverheads = new Material.Builder(20088, SuSyUtility.susyId('light_atmospheric_overheads')) + .gas(new FluidBuilder().temperature(460)) + .color(0xdce090) + .flags(FLAMMABLE) + .build(); + + DebutanizedNaphtha = new Material.Builder(20089, SuSyUtility.susyId('debutanized_naphtha')) + .liquid(new FluidBuilder().temperature(450)) + .color(0xeaff00) + .flags(FLAMMABLE) + .build(); + + SulfuricFuelGas = new Material.Builder(20090, SuSyUtility.susyId('sulfuric_fuel_gas')) + .gas(new FluidBuilder().temperature(340)) + .color(0xccb20a) + .flags(FLAMMABLE) + .build(); + + SulfuricButaneFuelGas = new Material.Builder(20091, SuSyUtility.susyId('sulfuric_butane_fuel_gas')) + .liquid() + .color(0xcca50a) + .flags(FLAMMABLE) + .build(); + + SulfuricPropaneFuelGas = new Material.Builder(20092, SuSyUtility.susyId('sulfuric_propane_fuel_gas')) + .gas() + .color(0xe0d041) + .flags(FLAMMABLE) + .build(); + + SulfuricLightNaphtha = new Material.Builder(20093, SuSyUtility.susyId('sulfuric_light_naphtha')) + .liquid(new FluidBuilder().temperature(360)) + .color(0xfff812) + .flags(FLAMMABLE) + .build(); + + SulfuricHeavyNaphtha = new Material.Builder(20094, SuSyUtility.susyId('sulfuric_heavy_naphtha')) + .liquid(new FluidBuilder().temperature(340)) + .color(0xe3dc00) + .flags(FLAMMABLE) + .build(); + + LightNaphtha = new Material.Builder(20095, SuSyUtility.susyId('light_naphtha')) + .liquid() + .color(0xfff512) + .flags(FLAMMABLE) + .build(); + + HeavyNaphtha = new Material.Builder(20096, SuSyUtility.susyId('heavy_naphtha')) + .liquid() + .color(0xebe100) + .flags(FLAMMABLE) + .build(); + + ButaneFuelGas = new Material.Builder(20097, SuSyUtility.susyId('butane_fuel_gas')) + .gas() + .color(0xb64c1e) + .flags(FLAMMABLE) + .build(); + + PropaneFuelGas = new Material.Builder(20098, SuSyUtility.susyId('propane_fuel_gas')) + .gas() + .color(0xf5dc42) + .flags(FLAMMABLE) + .build(); + + SlurryOil = new Material.Builder(20099, SuSyUtility.susyId('slurry_oil')) + .liquid() + .color(0x292116) + .flags(FLAMMABLE) + .build(); + + TreatedSulfuricLubricatingOil = new Material.Builder(20100, SuSyUtility.susyId('treated_sulfuric_lubricating_oil')) + .liquid() + .color(0x857f2c) + .flags(FLAMMABLE) + .build(); + + SulfuricDebutanizedNaphtha = new Material.Builder(20101, SuSyUtility.susyId('sulfuric_debutanized_naphtha')) + .liquid(new FluidBuilder().temperature(450)) + .color(0xeaff00) + .flags(FLAMMABLE) + .build(); + + FuelGas = new Material.Builder(20102, SuSyUtility.susyId('fuel_gas')) + .gas() + .color(0xcca20a) + .flags(FLAMMABLE) + .build(); + + LightCycleOil = new Material.Builder(20103, SuSyUtility.susyId('light_cycle_oil')) + .liquid() + .color(0xdec587) + .flags(FLAMMABLE) + .build(); + + // FREE ID: 20104 + + SulfuricCatalyticOverheads = new Material.Builder(20105, SuSyUtility.susyId('sulfuric_catalytic_overheads')) + .gas(new FluidBuilder().temperature(773)) + .color(0xf9ffcc) + .flags(FLAMMABLE) + .build(); + + CatalyticOverheads = new Material.Builder(20106, SuSyUtility.susyId('catalytic_overheads')) + .gas(new FluidBuilder().temperature(773)) + .color(0xf4f7df) + .flags(FLAMMABLE) + .build(); + + ReformingLiquids = new Material.Builder(20107, SuSyUtility.susyId('reforming_liquids')) + .liquid() + .color(0xcfc369) + .flags(FLAMMABLE) + .build(); + + Reformate = new Material.Builder(20108, SuSyUtility.susyId('reformate')) + .liquid() + .color(0xd1a63b) + .flags(FLAMMABLE) + .build(); + + ReformateRaffinate = new Material.Builder(20109, SuSyUtility.susyId('reformate_raffinate')) + .liquid() + .color(0xf0e171) + .flags(FLAMMABLE) + .build(); + + RawIsomerate = new Material.Builder(20110, SuSyUtility.susyId('raw_isomerate')) + .liquid() + .color(0xc76a42) + .flags(FLAMMABLE) + .build(); + + IsohexaneRichStream = new Material.Builder(20111, SuSyUtility.susyId('isohexane_rich_stream')) + .liquid() + .color(0x91401d) + .flags(FLAMMABLE) + .build(); + + Isomerate = new Material.Builder(20112, SuSyUtility.susyId('isomerate')) + .liquid() + .color(0xdb6b3b) + .flags(FLAMMABLE) + .build(); + + PyrolysisRaffinate = new Material.Builder(20113, SuSyUtility.susyId('pyrolysis_raffinate')) + .liquid() + .color(0xf5c96c) + .flags(FLAMMABLE) + .build(); + + FuelOil = new Material.Builder(20114, SuSyUtility.susyId('fuel_oil')) + .liquid() + .color(0x544803) + .flags(FLAMMABLE) + .build(); + + CatalyticOlefinRichMixture = new Material.Builder(20115, SuSyUtility.susyId('catalytic_olefin_rich_mixture')) + .gas() + .color(0xf5e2ae) + .flags(FLAMMABLE) + .build(); + + CatalyticCFourFraction = new Material.Builder(20116, SuSyUtility.susyId('catalytic_c_four_fraction')) + .gas() + .color(0xedb672) + .flags(FLAMMABLE) + .build(); + + CatalyticCThreeFraction = new Material.Builder(20117, SuSyUtility.susyId('catalytic_c_three_fraction')) + .gas() + .color(0xede372) + .flags(FLAMMABLE) + .build(); + + CatalyticLightGases = new Material.Builder(20118, SuSyUtility.susyId('catalytic_light_gases')) + .gas() + .color(0xe5ebca) + .flags(FLAMMABLE) + .build(); + + CatalyticButeneMixture = new Material.Builder(20119, SuSyUtility.susyId('catalytic_butene_mixture')) + .gas() + .color(0xd48c35) + .flags(FLAMMABLE) + .build(); + + VisbreakingResidue = new Material.Builder(20120, SuSyUtility.susyId('visbreaking_residue')) + .liquid() + .color(0x1a190b) + .flags(FLAMMABLE) + .build(); + + CokingResidue = new Material.Builder(20121, SuSyUtility.susyId('coking_residue')) + .liquid() + .color(0x121109) + .flags(FLAMMABLE) + .build(); + + HeatedCokingResidue = new Material.Builder(20122, SuSyUtility.susyId('heated_coking_residue')) + .liquid(new FluidBuilder().temperature(766)) + .color(0x362e1b) + .flags(FLAMMABLE) + .build(); + + CokeFines = new Material.Builder(20123, SuSyUtility.susyId('coke_fines')) + .gas(new FluidBuilder().temperature(766)) + .color(0x1c1b03) + .flags(FLAMMABLE) + .build(); + + FluidCrackedVacuumOilResidue = new Material.Builder(20124, SuSyUtility.susyId('fluid_cracked_vacuum_oil_residue')) + .liquid(new FluidBuilder().temperature(766)) + .color(0x1a1909) + .flags(FLAMMABLE) + .build(); + + CokingEffluents = new Material.Builder(20125, SuSyUtility.susyId('coking_effluents')) + .gas(new FluidBuilder().temperature(766)) + .color(0x75682e) + .flags(FLAMMABLE) + .build(); + + AcidicAlkylateMixture = new Material.Builder(20126, SuSyUtility.susyId('acidic_alkylate_mixture')) + .liquid() + .color(0xc27234) + .flags() + .build(); + + AlkylateMixture = new Material.Builder(20127, SuSyUtility.susyId('alkylate_mixture')) + .liquid() + .color(0x994a23) + .flags() + .build(); + + Alkylate = new Material.Builder(20128, SuSyUtility.susyId('alkylate')) + .liquid() + .color(0xd69f47) + .flags(FLAMMABLE) + .build(); + + CrudeIsobutane = new Material.Builder(20129, SuSyUtility.susyId('crude_isobutane')) + .gas() + .color(0x736154) + .flags() + .build(); + + RawGasolinePolymerate = new Material.Builder(20130, SuSyUtility.susyId('raw_gasoline_polymerate')) + .liquid() + .color(0xa7b510) + .flags(FLAMMABLE) + .build(); + + Polymerate = new Material.Builder(20131, SuSyUtility.susyId('polymerate')) + .liquid() + .color(0xc9d91a) + .flags(FLAMMABLE) + .build(); + + SulfuricLightCycleOil = new Material.Builder(20132, SuSyUtility.susyId('sulfuric_light_cycle_oil')) + .gas() + .color(0xdecf81) + .flags(FLAMMABLE) + .build(); + + // FREE ID: 20133 + + TreatedSulfuricLightCycleOil = new Material.Builder(20134, SuSyUtility.susyId('treated_sulfuric_light_cycle_oil')) + .gas() + .color(0xded087) + .flags(FLAMMABLE) + .build(); + + // FREE ID: 20134 + + HeatedLightNaphtha = new Material.Builder(20136, SuSyUtility.susyId('heated_light_naphtha')) + .liquid(new FluidBuilder().temperature(300)) + .color(0xc9b64b) + .flags(FLAMMABLE) + .build(); + + HeatedHeavyNaphtha = new Material.Builder(20137, SuSyUtility.susyId('heated_heavy_naphtha')) + .liquid(new FluidBuilder().temperature(370)) + .color(0xcfbb06) + .flags(FLAMMABLE) + .build(); + + HeatedLightGasOil = new Material.Builder(20138, SuSyUtility.susyId('heated_light_gas_oil')) + .liquid(new FluidBuilder().temperature(500)) + .color(0x998b48) + .flags(FLAMMABLE) + .build(); + + HeatedHeavyGasOil = new Material.Builder(20139, SuSyUtility.susyId('heated_heavy_gas_oil')) + .liquid(new FluidBuilder().temperature(600)) + .color(0x736636) + .flags(FLAMMABLE) + .build(); + + TreatedSulfuricLightNaphtha = new Material.Builder(20140, SuSyUtility.susyId('treated_sulfuric_light_naphtha')) + .liquid() + .color(0xfff508) + .flags(FLAMMABLE) + .build(); + + TreatedSulfuricHeavyNaphtha = new Material.Builder(20141, SuSyUtility.susyId('treated_sulfuric_heavy_naphtha')) + .liquid() + .color(0xdbd200) + .flags(FLAMMABLE) + .build(); + + HeatedKerosene = new Material.Builder(20142, SuSyUtility.susyId('heated_kerosene')) + .liquid(new FluidBuilder().temperature(450)) + .color(0xcfbc32) + .flags(FLAMMABLE) + .build(); + + HeatedLightCycleOil = new Material.Builder(20143, SuSyUtility.susyId('heated_light_cycle_oil')) + .liquid(new FluidBuilder().temperature(470)) + .color(0xd1af77) + .flags(FLAMMABLE) .build(); } -} \ No newline at end of file +} \ No newline at end of file diff --git a/groovy/material/SecondDegreeMaterials.groovy b/groovy/material/SecondDegreeMaterials.groovy index c5647b2a9..a1d87159a 100644 --- a/groovy/material/SecondDegreeMaterials.groovy +++ b/groovy/material/SecondDegreeMaterials.groovy @@ -450,7 +450,20 @@ public class SecondDegreeMaterials { .color(0x70cc6e) .build(); - //FREE IDs: 13072-13074 + SupportedNickel = new Material.Builder(13072, SuSyUtility.susyId('supported_nickel')) + .dust() + .components(NickelIINitrate * 1, Alumina * 1) + .colorAverage() + .flags(GENERATE_CATALYST_BED) + .build() + + AmmoniumMetatungstateSolution = new Material.Builder(13073, SuSyUtility.susyId('ammonium_metatungstate_solution')) + .liquid() + .components(AmmoniumMetatungstate, Ammonia * 4, Water * 4) + .color(0x340959) + .build() + + //FREE IDs: 13074 DilutedAmmoniumSulfateSolution = new Material.Builder(13075, SuSyUtility.susyId('diluted_ammonium_sulfate_solution')) .liquid() @@ -559,6 +572,7 @@ public class SecondDegreeMaterials { SupportedPlatinum = new Material.Builder(13092, SuSyUtility.susyId('supported_platinum')) .dust() .components(Alumina * 1, Platinum * 1, Chlorine * 4) + .colorAverage() .flags(GENERATE_CATALYST_BED) .build() diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 20c134a3d..ec2b4588e 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -131,6 +131,7 @@ class SuSyMaterials { public static Material RawMolecularSieve; public static Material MolecularSieve; public static Material WetMolecularSieve; + public static Material ChloridedAlumina; public static Material FlueGas; public static Material ExhaustSteam; public static Material SmokeBombMix; @@ -159,7 +160,7 @@ class SuSyMaterials { public static Material CativaCatalystSolution; public static Material AcidicCumene; public static Material RearrangedCumene; - public static Material AlkylatedButane; + public static Material SulfatedMetalOxide; public static Material ImpureKaptonK; public static Material KaptonEPreparation; public static Material ImpureKaptonE; @@ -217,8 +218,8 @@ class SuSyMaterials { public static Material PolyhaliteLeach; public static Material CarnalliteLeach; public static Material KainiteLeach; - public static Material Zeolite13XSolution; - public static Material Zeolite13X; + public static Material TypeXZeoliteSolution; + public static Material TypeXZeolite; public static Material LTSCatalyst; public static Material HTSCatalyst; public static Material SpentBismuthCatalyst; @@ -228,6 +229,7 @@ class SuSyMaterials { public static Material AluminiumSilicateLeach; public static Material AlkaliAlumMix; public static Material AmblygoniteLeach; + public static Material SolidPhosphoricAcid; public static Material LepidoliteLeach; public static Material NeutralizedLepidoliteLeach; public static Material AluminiumFreeLepidoliteLeach; @@ -282,6 +284,7 @@ class SuSyMaterials { public static Material ZincFlue; public static Material CrudeZinc; public static Material CadmiumRichZinc; + public static Material AmorphousSilicaAlumina; public static Material ImpureSmithsoniteSlurry; public static Material SmithsoniteSlurry; public static Material ZincLeach; @@ -291,6 +294,7 @@ class SuSyMaterials { public static Material WaelzSlag; public static Material ReducedZincLeach; public static Material WaelzOxide; + public static Material CarbonBlack; public static Material ZincCementationSlurry; public static Material PrecipitatedZincLeach; public static Material CopperCadmiumResidue; @@ -510,74 +514,148 @@ class SuSyMaterials { public static Material CocoAmineAcetate; public static Material PolluciteLeach; public static Material CaesiumRubidiumAlumMixture; + public static Material HydratedTriethyleneGlycol; public static Material NetherMolecularSieve; + public static Material HydrotreatingCatalyst; + public static Material SourWater; + public static Material TypeYZeoliteSolution; + public static Material TypeYZeolite; public static Material CobaltMatte; + public static Material OrthoCresylicAcidMixture; + public static Material CresolNovolacsOligomer; + public static Material EpoxyCresolNovolacs; - // Petrochem Materials + // Petrochem Materials public static Material DilutedOil; public static Material DesaltedOil; + public static Material HeatedOil; public static Material DilutedOilLight; public static Material DesaltedOilLight; + public static Material HeatedOilLight; public static Material DilutedOilHeavy; public static Material DesaltedOilHeavy; - - public static Material FuelOil; - public static Material SulfuricFuelOil; - public static Material TreatedSulfuricFuelOil; - public static Material UpgradedFuelOilMix; + public static Material HeatedOilHeavy; public static Material CrudeNaturalGas; public static Material SulfuricNaturalGas; public static Material TreatedSulfuricNaturalGas; - public static Material AlkylatedNaturalGas; public static Material SulfuricRefineryGas; public static Material TreatedSulfuricRefineryGas; - public static Material AlkylatedRefineryGas; - public static Material SulfuricDiesel; - public static Material TreatedSulfuricDiesel; - public static Material UpgradedDieselMix; + public static Material LightNaphtha; + public static Material SulfuricLightNaphtha; + public static Material HeatedLightNaphtha; + public static Material TreatedSulfuricLightNaphtha; + public static Material SteamcrackedLightNaphtha; + + public static Material HeavyNaphtha; + public static Material SulfuricHeavyNaphtha; + public static Material HeatedHeavyNaphtha; + public static Material TreatedSulfuricHeavyNaphtha; + public static Material SteamcrackedHeavyNaphtha; + public static Material NaphthaReformate; public static Material Kerosene; + public static Material CrudeKerosene; public static Material SulfuricKerosene; + public static Material HeatedKerosene; public static Material TreatedSulfuricKerosene; - public static Material LightlySteamcrackedKerosene; - public static Material SeverelySteamcrackedKerosene; - public static Material LightlyHydrocrackedKerosene; - public static Material SeverelyHydrocrackedKerosene; - public static Material UpgradedKeroseneMix; - public static Material SulfuricGasoline; - public static Material TreatedSulfuricGasoline; - public static Material LightlySteamcrackedGasoline; - public static Material SeverelySteamcrackedGasoline; - public static Material LightlyHydrocrackedGasoline; - public static Material SeverelyHydrocrackedGasoline; + public static Material LightGasOil; + public static Material CrudeLightGasOil; + public static Material SulfuricLightGasOil; + public static Material HeatedLightGasOil; + public static Material TreatedSulfuricLightGasOil; + public static Material SteamcrackedLightGasOil; + public static Material HydrocrackedLightGasOil; + + public static Material HeavyGasOil; + public static Material CrudeHeavyGasOil; + public static Material SulfuricHeavyGasOil; + public static Material HeatedHeavyGasOil; + public static Material TreatedSulfuricHeavyGasOil; + public static Material CatalyticallyCrackedHeavyGasOil; + public static Material CrudeCatalyticallyCrackedHeavyGasOil; + public static Material SteamcrackedHeavyGasOil; + public static Material HydrocrackedHeavyGasOil; + public static Material CrudeNaphtha; public static Material TreatedSulfuricNaphtha; - public static Material LightlySteamcrackedNaphtha; - public static Material SeverelySteamcrackedNaphtha; - public static Material LightlyHydrocrackedNaphtha; - public static Material SeverelyHydrocrackedNaphtha; - public static Material NaphthaReformate; - public static Material UpgradedNaphthaMix; + public static Material DebutanizedNaphtha; + public static Material SulfuricDebutanizedNaphtha; + + public static Material AtmosphericOilResidue; + public static Material SulfuricAtmosphericOilResidue; + public static Material CatalyticallyCrackedAtmosphericOilResidue; + public static Material CrudeCatalyticallyCrackedAtmosphericOilResidue; + public static Material HydrocrackedAtmosphericOilResidue; + public static Material ThermallyCrackedAtmosphericOilResidue; + public static Material QuenchedAtmosphericOilResidue; + + public static Material VacuumOilResidue; + public static Material SulfuricVacuumOilResidue; + public static Material CatalyticallyCrackedVacuumOilResidue; + public static Material CrudeCatalyticallyCrackedVacuumOilResidue; + public static Material HydrocrackedVacuumOilResidue; + public static Material ThermallyCrackedVacuumOilResidue; + public static Material QuenchedVacuumOilResidue; + + public static Material FuelGas; + public static Material SulfuricFuelGas; + public static Material SulfuricButaneFuelGas; + public static Material SulfuricPropaneFuelGas; + public static Material ButaneFuelGas; + public static Material PropaneFuelGas; + + public static Material AtmosphericOverheads; + public static Material HeavyAtmosphericOverheads; + public static Material LightAtmosphericOverheads; public static Material LubricatingOil; - public static Material UpgradedLubricatingOilMix; + public static Material TreatedSulfuricLubricatingOil; + + public static Material LightCycleOil; + public static Material SulfuricLightCycleOil; + public static Material HeatedLightCycleOil; + public static Material TreatedSulfuricLightCycleOil; + public static Material HydrocrackedLightCycleOil; + + public static Material SlurryOil; + public static Material DeasphaltedOil; + + public static Material CatalyticOverheads; + public static Material SulfuricCatalyticOverheads; + public static Material CatalyticOlefinRichMixture; + public static Material CatalyticCFourFraction; + public static Material CatalyticCThreeFraction; + public static Material CatalyticLightGases; + public static Material CatalyticButeneMixture; + + public static Material ReformingLiquids; + public static Material ReformingEffluent; + public static Material Reformate; + public static Material ReformateRaffinate; + + public static Material RawIsomerate; + public static Material IsohexaneRichStream; + public static Material Isomerate; + + public static Material AcidicAlkylateMixture; + public static Material AlkylateMixture; + public static Material Alkylate; + public static Material CrudeIsobutane; + + public static Material RawGasolinePolymerate; + public static Material Polymerate; public static Material OilyBrine; public static Material LightOilyBrine; public static Material HeavyOilyBrine; - public static Material SulfuricOilResidue; - public static Material TreatedSulfuricOilResidue; - public static Material OilResidue; - public static Material LightBitumenSolution; - public static Material BitumenSolution; - public static Material HeavyBitumenSolution; + public static Material AsphalteneExtract; public static Material SourGas; public static Material SlackWax; public static Material Resin; @@ -586,6 +664,7 @@ class SuSyMaterials { public static Material BTEX; public static Material Syngas; public static Material ReformedSyngas; + public static Material ClarifiedSlurryOil; public static Material CrudeLubricatingOil; public static Material SolventLubricantMixture; public static Material ColdSolventLubricantMixture; @@ -593,6 +672,16 @@ class SuSyMaterials { public static Material DewaxedLubricantMixture; public static Material CFiveFraction; public static Material DimerizedCFiveFraction; + public static Material PyrolysisGasoline; + public static Material PyrolysisRaffinate; + public static Material FuelOil; + public static Material VisbreakingResidue; + public static Material CokingResidue; + public static Material HeatedCokingResidue; + public static Material CokeFines; + public static Material FluidCrackedVacuumOilResidue; + public static Material CokingEffluents; + public static Material RPOne; // First Degree Materials @@ -647,6 +736,7 @@ class SuSyMaterials { public static Material Fluix; public static Material PigIron; public static Material GreenCoke; + public static Material HeatedGreenCoke; public static Material IronIIISulfate; public static Material AluminiumHydroxide; public static Material AluminiumTrifluoride; @@ -993,6 +1083,7 @@ class SuSyMaterials { public static Material HydrogenSilsesquioxane; public static Material CementedAlluvialPGMSolution; public static Material AlluvialPGM; + public static Material AmmoniumMetatungstate; public static Material Diamminedichloropalladium; public static Material NickelIINitrateSolution; public static Material FerroniobiumTantalum; @@ -1274,6 +1365,9 @@ class SuSyMaterials { public static Material RubidiumHydroxideSolution; public static Material SodiumAlumSolution; public static Material OxidizedManganateSolution; + public static Material SupportedNickel; + public static Material AmmoniumMetatungstateSolution; + public static Material CobaltNitrateSolution; public static Material GalvanizedSteel; public static Material ImpureLithiumCarbonateSolution; public static Material LithiumCarbonateSolution; @@ -1495,6 +1589,7 @@ class SuSyMaterials { public static Material IsoOctane; public static Material PurifiedIsoprene; public static Material Cyclopentadiene; + public static Material HexamethylenetetramineSolution; public static Material Ferrocene; public static Material Polyisoprene; public static Material Chloroethane; @@ -1683,6 +1778,13 @@ class SuSyMaterials { public static Material HydrolyzedMethylFormateSolution; public static Material FormicAcid; public static Material MethylFormateSolution; + public static Material TriethyleneGlycol; + public static Material AcidicRichAmine; + public static Material CompoundedPolyisoprene; + public static Material CompoundedStyreneIsopreneRubber; + public static Material CompoundedStyreneButadieneRubber; + public static Material TwoSixXylenol; + public static Material TwoFourFiveXylenolMixture; // Third Degree Materials @@ -1690,6 +1792,7 @@ class SuSyMaterials { public static Material DiethylEtherSolution; public static Material LithiumSolution; public static Material DimethylacetamideSolution; + public static Material AcidicFurfuralSolution; public static Material WackerCatalystSolution; public static Material TwoEthylanthraquinoneSolution; public static Material AcetamideSolution; diff --git a/groovy/material/ThermodynamicsMaterials.groovy b/groovy/material/ThermodynamicsMaterials.groovy index 3b4ce4c09..1ec98a402 100755 --- a/groovy/material/ThermodynamicsMaterials.groovy +++ b/groovy/material/ThermodynamicsMaterials.groovy @@ -194,7 +194,6 @@ class ThermodynamicsMaterials { .build(); } - public static void register() { log.infoMC("Registering Thermodynamics Materials!"); @@ -225,7 +224,7 @@ class ThermodynamicsMaterials { generateHighPressureGases(NetherAir, 22036, true); - generateHighPressureGases(RefineryGas, 22039, true); + generateHighPressureGases(FuelGas, 22039, true); generateHighPressureGases(Methane, 22042, true); @@ -245,7 +244,7 @@ class ThermodynamicsMaterials { generateLiquidFromGas(Nitrogen, 22106, 77); - generateLiquidFromGas(RefineryGas, 22107, 112); + // FREE ID: 22107 generateLiquidFromGas(Methane, 22108, 112); diff --git a/groovy/material/ThirdDegreeMaterials.groovy b/groovy/material/ThirdDegreeMaterials.groovy index 7978da5d8..7d1095f1a 100755 --- a/groovy/material/ThirdDegreeMaterials.groovy +++ b/groovy/material/ThirdDegreeMaterials.groovy @@ -37,7 +37,7 @@ public class ThirdDegreeMaterials { .colorAverage() .build(); - FurfuralSolution = new Material.Builder(24003, SuSyUtility.susyId('furfural_solution')) + AcidicFurfuralSolution = new Material.Builder(24003, SuSyUtility.susyId('acidic_furfural_solution')) .liquid(new FluidBuilder().attribute(FluidAttributes.ACID)) .components(Furfural * 1, SulfuricAcid * 1, Water * 3) .colorAverage() @@ -625,5 +625,11 @@ public class ThirdDegreeMaterials { .components(FormicAcid * 6, Water * 4) .color(0xbf3983) .build(); + + FurfuralSolution = new Material.Builder(24100, SuSyUtility.susyId('furfural_solution')) + .liquid() + .components(Furfural * 1, Water * 1) + .colorAverage() + .build(); } } diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index 86c1a1d93..24f4580a8 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -37,26 +37,24 @@ public class UnknownCompositionMaterials { BlackAsh = new Material.Builder(4002, SuSyUtility.susyId('black_ash')) .dust() .color(0x000000) - .colorAverage() .build(); MolecularSieve = new Material.Builder(4003, SuSyUtility.susyId('molecular_sieve')) .dust() .iconSet(SHINY) .color(0x737373) - .colorAverage() .build(); WetMolecularSieve = new Material.Builder(4004, SuSyUtility.susyId('wet_molecular_sieve')) .dust() .iconSet(SHINY) .color(0x5c5c5c) - .colorAverage() .build(); - RawMolecularSieve = new Material.Builder(4005, SuSyUtility.susyId('raw_molecular_sieve')) - .liquid() - .color(0x8c94a8) + ChloridedAlumina = new Material.Builder(4005, SuSyUtility.susyId('chlorided_alumina')) + .dust() + .color(0x86bf99) + .flags(GENERATE_CATALYST_BED) .build(); FlueGas = new Material.Builder(4006, SuSyUtility.susyId('flue_gas')) @@ -189,9 +187,10 @@ public class UnknownCompositionMaterials { .color(0x4f2f27) .build(); - AlkylatedButane = new Material.Builder(4032, SuSyUtility.susyId('alkylated_butane')) - .liquid() - .color(0x6e4c2c) + SulfatedMetalOxide = new Material.Builder(4032, SuSyUtility.susyId('sulfated_metal_oxide')) + .dust() + .color(0xc7f089) + .flags(GENERATE_CATALYST_BED) .build(); ImpureKaptonK = new Material.Builder(4033, SuSyUtility.susyId('impure_kapton_k')) @@ -477,13 +476,13 @@ public class UnknownCompositionMaterials { .color(0xadb07f) .build(); - Zeolite13X = new Material.Builder(4091, SuSyUtility.susyId('zeolite_13')) + TypeXZeolite = new Material.Builder(4091, SuSyUtility.susyId('type_x_zeolite')) .dust() .iconSet(SHINY) .color(0xe4e8bc) .build(); - Zeolite13XSolution = new Material.Builder(4092, SuSyUtility.susyId('zeolite_13_solution')) + TypeXZeoliteSolution = new Material.Builder(4092, SuSyUtility.susyId('type_x_zeolite_solution')) .liquid() .color(0xe4e8bc) .build(); @@ -535,7 +534,12 @@ public class UnknownCompositionMaterials { .color(0xbaced6) .build(); - // FREE ID: 4102 + SolidPhosphoricAcid = new Material.Builder(4102, SuSyUtility.susyId('solid_phosphoric_acid')) + .dust() + .iconSet(DULL) + .color(0xd7de9e) + .flags(GENERATE_WET_DUST, GENERATE_CATALYST_BED) + .build(); LepidoliteLeach = new Material.Builder(4103, SuSyUtility.susyId('lepidolite_leach')) .liquid() @@ -836,7 +840,13 @@ public class UnknownCompositionMaterials { .color(0x80849c) .build() - //FREE ID: 4160-4161 + AmorphousSilicaAlumina = new Material.Builder(4160, SuSyUtility.susyId('amorphous_silica_alumina')) + .dust() + .color(0x7ea3ed) + .iconSet(DULL) + .build() + + // FREE ID: 4161 ZincLeach = new Material.Builder(4162, SuSyUtility.susyId('zinc_leach')) .liquid() @@ -869,11 +879,14 @@ public class UnknownCompositionMaterials { .build() WaelzOxide = new Material.Builder(4168, SuSyUtility.susyId('waelz_oxide')) - .dust() //.liquid(new FluidBuilder().temperature(700)) + .dust() .color(0x475453) .build() - //FREE ID: 4169 + CarbonBlack = new Material.Builder(4169, SuSyUtility.susyId('carbon_black')) + .dust() + .color(0x140f02) + .build() ZincCementationSlurry = new Material.Builder(4170, SuSyUtility.susyId('zinc_cementation_slurry')) .liquid() @@ -1020,14 +1033,26 @@ public class UnknownCompositionMaterials { .color(0x662e2e) .build(); - //FREE IDs: 4199-4200 + CresolNovolacsOligomer = new Material.Builder(4199, SuSyUtility.susyId('cresol_novolacs_oligomer')) + .liquid(new FluidBuilder().temperature(488)) + .color(0x9c745c) + .build(); + + EpoxyCresolNovolacs = new Material.Builder(4200, SuSyUtility.susyId('epoxy_cresol_novolacs')) + .polymer() + .color(0xe8cda5) + .flags(GENERATE_WET_DUST, GENERATE_PLATE, GENERATE_FOIL) + .build(); SiliconDioxideSlurry = new Material.Builder(4201, SuSyUtility.susyId('silicon_dioxide_slurry')) .liquid() .color(0x69675b) .build(); - //FREE IDs: 4202 + OrthoCresylicAcidMixture = new Material.Builder(4202, SuSyUtility.susyId('ortho_cresylic_acid_mixture')) + .liquid() + .color(0xb5a991) + .build(); VTSlag = new Material.Builder(4203, SuSyUtility.susyId('vt_slag')) .dust() @@ -1114,7 +1139,11 @@ public class UnknownCompositionMaterials { .color(0x48485e) .build(); - //FREE ID: 4221 + HydrotreatingCatalyst = new Material.Builder(4221, SuSyUtility.susyId('hydrotreating_catalyst')) + .dust() + .color(0xb5dea4) + .flags(GENERATE_CATALYST_BED) + .build(); MidgradeGasoline = new Material.Builder(4222, SuSyUtility.susyId('midgrade_gasoline')) .liquid() @@ -1194,7 +1223,10 @@ public class UnknownCompositionMaterials { .color(0xc48072) .build(); - //FREE ID: 4243 + HydratedTriethyleneGlycol = new Material.Builder(4243, SuSyUtility.susyId('hydrated_triethylene_glycol')) + .liquid() + .color(0x2795a8) + .build() SphaleriteByproductSlurry = new Material.Builder(4244, SuSyUtility.susyId('sphalerite_byproduct_slurry')) .liquid() @@ -1937,5 +1969,21 @@ public class UnknownCompositionMaterials { .dust() .color(0x631a87) .build() + + SourWater = new Material.Builder(4424, SuSyUtility.susyId("sour_water")) + .fluid() + .color(0x281757) + .build() + + TypeYZeolite = new Material.Builder(4425, SuSyUtility.susyId('type_y_zeolite')) + .dust() + .iconSet(SHINY) + .color(0xc8cca1) + .build(); + + TypeYZeoliteSolution = new Material.Builder(4426, SuSyUtility.susyId('type_y_zeolite_solution')) + .liquid() + .color(0xc8cca1) + .build(); } } diff --git a/groovy/postInit/chemistry/Catalysts.groovy b/groovy/postInit/chemistry/Catalysts.groovy new file mode 100644 index 000000000..d957d5ed0 --- /dev/null +++ b/groovy/postInit/chemistry/Catalysts.groovy @@ -0,0 +1,417 @@ +import globals.Globals + +MIXER = recipemap('mixer') +SINTERING_OVEN = recipemap('sintering_oven') +BR = recipemap('batch_reactor') +CSTR = recipemap('continuous_stirred_tank_reactor') +ROASTER = recipemap('roaster') +DISTILLERY = recipemap('distillery') +DT = recipemap('distillation_tower') +DRYER = recipemap('dryer') +AUTOCLAVE = recipemap('autoclave') +ION_EXCHANGE = recipemap('ion_exchange_column') +FBR = recipemap('fixed_bed_reactor') +LCR = recipemap('large_chemical_reactor') + +// Alumina supports + +MIXER.recipeBuilder() + .inputs(ore('dustAmmoniumHexachloroplatinate') * 17) + .fluidInputs(fluid('phosphoric_acid') * 1000) + .fluidOutputs(fluid('platinum_precursor_solution') * 1000) + .duration(100) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +SINTERING_OVEN.recipeBuilder() + .inputs(ore('dustAlumina') * 5) + .fluidInputs(fluid('platinum_precursor_solution') * 1000) + .outputs(metaitem('dustSupportedPlatinum')) + .fluidOutputs(fluid('phosphoric_acid') * 1000) + .duration(100) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +MIXER.recipeBuilder() + .inputs(ore('dustPalladiumChloride') * 3) + .fluidInputs(fluid('phosphoric_acid') * 1000) + .fluidOutputs(fluid('palladium_precursor_solution') * 1000) + .duration(100) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +SINTERING_OVEN.recipeBuilder() + .inputs(ore('dustAlumina') * 5) + .fluidInputs(fluid('palladium_precursor_solution') * 1000) + .outputs(metaitem('dustSupportedPalladium')) + .fluidOutputs(fluid('phosphoric_acid') * 1000) + .duration(100) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +SINTERING_OVEN.recipeBuilder() + .inputs(ore('dustAlumina') * 5) + .fluidInputs(fluid('nickel_nitrate_solution') * 1000) + .outputs(metaitem('dustSupportedNickel')) + .fluidOutputs(fluid('dense_steam') * 1000) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +ROASTER.recipeBuilder() + .inputs(ore('dustSupportedNickel')) + .fluidInputs(fluid('hydrogen_sulfide') * 100) + .outputs(metaitem('dustHydrotreatingCatalyst')) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +// Tungsten source + +ROASTER.recipeBuilder() + .inputs(ore('dustAmmoniumParatungstate')) + .fluidInputs(fluid('distilled_water') * 2000) + .fluidOutputs(fluid('ammonium_metatungstate_solution') * 4000) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +DISTILLERY.recipeBuilder() + .fluidInputs(fluid('ammonium_metatungstate_solution') * 4000) + .outputs(metaitem('dustAmmoniumMetatungstate')) + .fluidOutputs(fluid('ammonia_solution') * 4000) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +// Isomerization catalysts + +BR.recipeBuilder() + .inputs(ore('dustSupportedPlatinum') * 5) + .fluidInputs(fluid('hydrogen_chloride') * 100) + .outputs(metaitem('dustChloridedAlumina')) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('dustZirconiumDioxide') * 3) + .inputs(ore('dustAmmoniumHexachloroplatinate')) + .fluidInputs(fluid('aluminium_sulfate_solution') * 6000) + .outputs(metaitem('dustSulfatedMetalOxide')) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +// Zeolites + +DISTILLERY.recipeBuilder() + .fluidInputs(fluid('sodium_silicate_solution') * 1000) + .outputs(metaitem('dustSodiumSilicate') * 6) + .fluidOutputs(fluid('water') * 1000) + .duration(20) + .EUt(30) + .buildAndRegister() + +BR.recipeBuilder() + .fluidInputs(fluid('sodium_hydroxide_solution') * 2000) + .fluidInputs(fluid('dense_steam') * 1000) + .inputs(ore('dustSiliconDioxide') * 3) + .fluidOutputs(fluid('diluted_sodium_silicate_solution') * 4000) + .duration(200) + .EUt(30) + .buildAndRegister() + +DISTILLERY.recipeBuilder() + .fluidInputs(fluid('sodium_aluminate_solution') * 1500) + .fluidOutputs(fluid('water') * 1500) + .outputs(metaitem('dustSodiumAluminate') * 4) + .duration(160) + .EUt(30) + .buildAndRegister() + +BR.recipeBuilder() + .fluidInputs(fluid('sodium_hydroxide_solution') * 2000) + .inputs(ore('dustAnyPurityAluminium') * 2) + .fluidOutputs(fluid('hydrogen') * 6000) + .outputs(metaitem('dustSodiumAluminate') * 8) + .duration(200) + .EUt(30) + .buildAndRegister() + +// Type X zeolite (molecular sieve, 9 angstrom) + +AUTOCLAVE.recipeBuilder() + .fluidInputs(fluid('diluted_sodium_silicate_solution') * 4000) + .inputs(ore('dustSodiumAluminate') * 4) + .fluidOutputs(fluid('type_x_zeolite_solution') * 4000) + .duration(180) + .EUt(30) + .buildAndRegister() + +AUTOCLAVE.recipeBuilder() + .fluidInputs(fluid('sodium_silicate_solution') * 1000) + .fluidInputs(fluid('distilled_water') * 3000) + .inputs(ore('dustSodiumAluminate') * 4) + .fluidOutputs(fluid('type_x_zeolite_solution') * 4000) + .duration(180) + .EUt(30) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('diluted_sodium_silicate_solution') * 1000) + .fluidOutputs(fluid('water') * 750) + .fluidOutputs(fluid('sodium_silicate_solution') * 250) + .duration(200) + .EUt(30) + .buildAndRegister() + +DRYER.recipeBuilder() + .fluidInputs(fluid('type_x_zeolite_solution') * 4000) + .outputs(metaitem('dustTypeXZeolite')) + .fluidOutputs(fluid('dense_steam') * 4000) + .duration(400) + .EUt(30) + .buildAndRegister() + +MIXER.recipeBuilder() + .inputs(ore('dustTypeXZeolite')) + .inputs(ore('dustClay')) + .outputs(metaitem('dustMolecularSieve')) + .duration(180) + .EUt(30) + .buildAndRegister() + +// Type Y zeolite (FCC catalyst) + +AUTOCLAVE.recipeBuilder() + .fluidInputs(fluid('diluted_sodium_silicate_solution') * 8000) + .fluidInputs(fluid('tetramethylammonium_hydroxide_solution') * 1000) + .inputs(ore('dustSodiumAluminate') * 4) + .fluidOutputs(fluid('type_y_zeolite_solution') * 9000) + .duration(180) + .EUt(30) + .buildAndRegister() + +DRYER.recipeBuilder() + .fluidInputs(fluid('type_y_zeolite_solution') * 9000) + .outputs(metaitem('dustTypeYZeolite')) + .duration(100) + .EUt(60) + .buildAndRegister() + +ROASTER.recipeBuilder() + .inputs(ore('dustTypeYZeolite')) + .inputs(ore('dustClay')) + .fluidInputs(fluid('ammonium_chloride_solution') * 1000) + .outputs(metaitem('cracking_catalyst')) + .fluidOutputs(fluid('wastewater') * 1000) + .duration(100) + .EUt(60) + .buildAndRegister() + +// ZSM-5 + +FBR.recipeBuilder() + .notConsumable(metaitem('catalystBedAlumina')) + .fluidInputs(fluid('ammonia') * 50) + .fluidInputs(fluid('n_propanol') * 150) + .fluidOutputs(fluid('tripropylamine') * 50) + .fluidOutputs(fluid('water') * 150) + .duration(5) + .EUt(120) + .buildAndRegister(); + +BR.recipeBuilder() + .notConsumable(metaitem('emitter.lv')) + .notConsumable(fluid('hydrogen_peroxide_solution') * 50) + .fluidInputs(fluid('hydrobromic_acid') * 1000) + .fluidInputs(fluid('propene') * 1000) + .fluidOutputs(fluid('n_bromopropane') * 1000) + .fluidOutputs(fluid('water') * 1000) + .duration(5) + .EUt(120) + .buildAndRegister(); + +BR.recipeBuilder() + .fluidInputs(fluid('n_bromopropane') * 1000) + .fluidInputs(fluid('tripropylamine') * 1000) + .outputs(metaitem('dustTetrapropylammoniumBromide')) + .duration(5) + .EUt(120) + .buildAndRegister(); + +LCR.recipeBuilder() + .inputs(ore('dustSiliconDioxide') * 6) + .inputs(ore('dustAluminiumSulfate') * 51) + .inputs(ore('dustSodiumHydroxide')) + .inputs(ore('dustTinyTetrapropylammoniumBromide')) + .fluidInputs(fluid('ethanol') * 100) + .fluidInputs(fluid('demineralized_water') * 1800) + .outputs(metaitem('dustZsmFive')) + .duration(500) + .EUt(480) + .buildAndRegister(); + +// Olefin condensation catalysts + + // SHOP process catalyst + + BR.recipeBuilder() + .inputs(ore('dustNickelIiOxide') * 2) + .fluidInputs(fluid('nitric_acid') * 2000) + .fluidOutputs(fluid('nickel_nitrate_solution') * 1000) + .duration(20) + .EUt(30) + .buildAndRegister() + + DISTILLERY.recipeBuilder() + .fluidInputs(fluid('nickel_nitrate_solution') * 1000) + .outputs(metaitem('dustNickelIiNitrate') * 9) + .fluidOutputs(fluid('water') * 1000) + .duration(20) + .EUt(30) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustNickelIiNitrate') * 9) + .fluidInputs(fluid('acetylacetone') * 2000) + .fluidInputs(fluid('sodium_hydroxide_solution') * 2000) + .fluidOutputs(fluid('nickel_ii_bisacetylacetonate_solution') * 2000) + .duration(120) + .EUt(30) + .buildAndRegister() + + ROASTER.recipeBuilder() + .fluidInputs(fluid('nickel_ii_bisacetylacetonate_solution') * 2000) + .outputs(metaitem('dustNickelIiBisacetylacetonate')) + .outputs(metaitem('dustSodiumNitrate') * 10) + .fluidOutputs(fluid('dense_steam') * 2000) + .duration(120) + .EUt(480) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustNickelIiBisacetylacetonate')) + .fluidInputs(fluid('cyclooctadiene') * 2000) + .fluidInputs(fluid('triethylaluminium') * 2000) + .outputs(metaitem('dustBiscyclooctadienenickelZero')) + .fluidOutputs(fluid('ethane') * 1000) + .fluidOutputs(fluid('ethylene') * 1000) + .fluidOutputs(fluid('diethylaluminium_acetylacetonate') * 2000) + .duration(120) + .EUt(30) + .buildAndRegister() + + BR.recipeBuilder() + .fluidInputs(fluid('diethylaluminium_acetylacetonate') * 1000) + .fluidInputs(fluid('hydrochloric_acid') * 3000) + .fluidOutputs(fluid('aluminium_chloride_solution') * 3000) + .fluidOutputs(fluid('acetylacetone') * 1000) + .fluidOutputs(fluid('ethylene') * 2000) + .duration(160) + .EUt(30) + .buildAndRegister() + + DISTILLERY.recipeBuilder() + .fluidInputs(fluid('aluminium_chloride_solution') * 3000) + .outputs(metaitem('dustAluminiumChloride') * 4) + .fluidOutputs(fluid('water') * 3000) + .EUt(Globals.voltAmps[1]) + .duration(20) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustTriphenylphosphine')) + .fluidInputs(fluid('phosphorus_trichloride') * 500) + .fluidOutputs(fluid('chlorodiphenylphosphine') * 1500) + .duration(200) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + CSTR.recipeBuilder() + .fluidInputs(fluid('chlorodiphenylphosphine') * 50) + .fluidInputs(fluid('acetic_acid') * 50) + .notConsumable(fluid('sodium_hydroxide_solution') * 50) + .fluidOutputs(fluid('diphenylphosphinoacetic_acid') * 50) + .duration(10) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustBiscyclooctadienenickelZero')) + .fluidInputs(fluid('diphenylphosphinoacetic_acid') * 1000) + .fluidInputs(fluid('ethylene_glycol') * 1000) + .fluidOutputs(fluid('shell_higher_olefin_catalyst_solution') * 1000) + .duration(200) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + + // SPA catalysts for gasoline polymerate + + MIXER.recipeBuilder() + .inputs(ore('dustDiatomite')) + .fluidInputs(fluid('phosphoric_acid') * 1700) + .outputs(metaitem('dustWetSolidPhosphoricAcid')) + .duration(200) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + DRYER.recipeBuilder() + .inputs(ore('dustWetSolidPhosphoricAcid')) + .outputs(metaitem('dustSolidPhosphoricAcid')) + .duration(200) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + // Hydrocracking catalyst + + AUTOCLAVE.recipeBuilder() + .fluidInputs(fluid('sodium_silicate_solution') * 1000) + .fluidInputs(fluid('aluminium_sulfate_solution') * 100) + .outputs(metaitem('dustAmorphousSilicaAlumina')) + .fluidOutputs(fluid('wastewater') * 1100) + .duration(200) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustCobaltOxide') * 2) + .fluidInputs(fluid('nitric_acid') * 2000) + .fluidOutputs(fluid('cobalt_nitrate_solution') * 1000) + .duration(60) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + ROASTER.recipeBuilder() + .inputs(ore('dustAmorphousSilicaAlumina') * 10) + .inputs(ore('dustAmmoniumMetatungstate')) + .fluidInputs(fluid('cobalt_nitrate_solution') * 2000) + .outputs(metaitem('hydrocracking_catalyst') * 10) + .duration(200) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +// HZSM-5 + +FBR.recipeBuilder() + .notConsumable(ore('catalystBedAlumina')) + .fluidInputs(fluid('n_butanol') * 50) + .fluidInputs(fluid('ammonia') * 50) + .fluidOutputs(fluid('n_butylamine') * 50) + .fluidOutputs(fluid('water') * 50) + .duration(3) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('dustSiliconDioxide') * 6) + .inputs(ore('dustAluminiumSulfate') * 51) + .inputs(ore('dustSodiumHydroxide')) + .fluidInputs(fluid('ethanol') * 100) + .fluidInputs(fluid('demineralized_water') * 1800) + .fluidInputs(fluid('n_butylamine') * 100) + .outputs(metaitem('dustHzsmFive')) + .duration(500) + .EUt(480) + .buildAndRegister(); \ No newline at end of file diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index 4a6a0d764..f57dbcb41 100644 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -1542,81 +1542,6 @@ DISTILLERY.recipeBuilder() .EUt(30) .buildAndRegister() -// Molecular Sieves - -DISTILLERY.recipeBuilder() -.fluidInputs(fluid('sodium_silicate_solution') * 1000) -.outputs(metaitem('dustSodiumSilicate') * 6) -.fluidOutputs(fluid('water') * 1000) -.duration(20) -.EUt(30) -.buildAndRegister() - -BR.recipeBuilder() -.fluidInputs(fluid('sodium_hydroxide_solution') * 2000) -.fluidInputs(fluid('dense_steam') * 1000) -.inputs(ore('dustSiliconDioxide') * 3) -.fluidOutputs(fluid('diluted_sodium_silicate_solution') * 4000) -.duration(200) -.EUt(30) -.buildAndRegister() - -DISTILLERY.recipeBuilder() - .fluidInputs(fluid('sodium_aluminate_solution') * 1500) - .fluidOutputs(fluid('water') * 1500) - .outputs(metaitem('dustSodiumAluminate') * 4) - .duration(160) - .EUt(30) - .buildAndRegister() - -BR.recipeBuilder() -.fluidInputs(fluid('sodium_hydroxide_solution') * 2000) -.inputs(ore('dustAnyPurityAluminium') * 2) -.fluidOutputs(fluid('hydrogen') * 6000) -.outputs(metaitem('dustSodiumAluminate') * 8) -.duration(200) -.EUt(30) -.buildAndRegister() - -AUTOCLAVE.recipeBuilder() -.fluidInputs(fluid('diluted_sodium_silicate_solution') * 4000) -.inputs(ore('dustSodiumAluminate') * 4) -.fluidOutputs(fluid('raw_molecular_sieve') * 4000) -.duration(180) -.EUt(30) -.buildAndRegister() - -AUTOCLAVE.recipeBuilder() - .fluidInputs(fluid('sodium_silicate_solution') * 1000) - .inputs(ore('dustSodiumAluminate') * 4) - .fluidOutputs(fluid('raw_molecular_sieve') * 4000) - .duration(180) - .EUt(30) - .buildAndRegister() - -DISTILLATION_TOWER.recipeBuilder() - .fluidInputs(fluid('diluted_sodium_silicate_solution') * 1000) - .fluidOutputs(fluid('water') * 750) - .fluidOutputs(fluid('sodium_silicate_solution') * 250) - .duration(200) - .EUt(30) - .buildAndRegister() - -DRYER.recipeBuilder() -.fluidInputs(fluid('raw_molecular_sieve') * 4000) -.outputs(metaitem('dustMolecularSieve') * 10) -.duration(400) -.EUt(30) -.buildAndRegister() - -ALLOY_SMELTER.recipeBuilder() - .inputs(ore('dustMolecularSieve') * 1) - .inputs(ore('dustClay') * 1) - .outputs(metaitem('cracking_catalyst') * 1) - .duration(100) - .EUt(60) - .buildAndRegister() - //Glyceryl Trinitrate BR.recipeBuilder() @@ -2076,13 +2001,13 @@ DISTILLERY.recipeBuilder() BR.recipeBuilder() .fluidInputs(fluid('sulfuric_acid') * 1000) .inputs(ore('dustWood') * 4) -.fluidOutputs(fluid('furfural_solution') * 5000) +.fluidOutputs(fluid('acidic_furfural_solution') * 5000) .duration(180) .EUt(Globals.voltAmps[1]) .buildAndRegister() DISTILLATION_TOWER.recipeBuilder() -.fluidInputs(fluid('furfural_solution') * 5000) +.fluidInputs(fluid('acidic_furfural_solution') * 5000) .fluidOutputs(fluid('sulfuric_acid') * 1000) .fluidOutputs(fluid('furfural') * 1000) .fluidOutputs(fluid('water') * 3000) @@ -2379,22 +2304,6 @@ REACTION_FURNACE.recipeBuilder() // Isobutylene -CSTR.recipeBuilder() - .fluidInputs(fluid('butane') * 50) - .fluidInputs(fluid('sulfuric_acid') * 50) - .fluidOutputs(fluid('alkylated_butane') * 100) - .duration(100) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() - -DISTILLATION_TOWER.recipeBuilder() - .fluidInputs(fluid('alkylated_butane') * 100) - .fluidOutputs(fluid('sulfuric_acid') * 50) - .fluidOutputs(fluid('isobutane') * 50) - .duration(300) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - FBR.recipeBuilder() .fluidInputs(fluid('isobutane') * 50) .notConsumable(ore('catalystBedChromiumTrioxide') * 1) @@ -2679,14 +2588,6 @@ DISTILLATION_TOWER.recipeBuilder() .buildAndRegister(); // Hydrazine -DISTILLATION_TOWER.recipeBuilder() - .fluidInputs(fluid('butene') * 1000) - .fluidOutputs(fluid('isobutylene') * 500) - .fluidOutputs(fluid('one_butene') * 300) - .fluidOutputs(fluid('two_butene') * 200) - .duration(300) - .EUt(30) - .buildAndRegister() CSTR.recipeBuilder() .fluidInputs(fluid('sulfuric_acid') * 50) @@ -3270,7 +3171,7 @@ ELECTROLYTIC_CELL.recipeBuilder() // Ethylene glycol CSTR.recipeBuilder() - .fluidInputs(fluid('ethylene_oxide') * 70) + .fluidInputs(fluid('ethylene_oxide') * 85) .fluidInputs(fluid('water') * 100) .fluidOutputs(fluid('ethylene_glycol_mix') * 100) .duration(5) @@ -3279,9 +3180,10 @@ CSTR.recipeBuilder() DISTILLATION_TOWER.recipeBuilder() .fluidInputs(fluid('ethylene_glycol_mix') * 1000) + .fluidOutputs(fluid('triethylene_glycol') * 50) .fluidOutputs(fluid('diethylene_glycol') * 100) .fluidOutputs(fluid('ethylene_glycol') * 500) - .fluidOutputs(fluid('water') * 400) + .fluidOutputs(fluid('water') * 150) .duration(200) .EUt(30) .buildAndRegister() @@ -3804,97 +3706,7 @@ PYROLYSE.recipeBuilder() //SHELL HIGHER OLEFIN PROCESS BR.recipeBuilder() - .inputs(ore('dustNickelIiOxide') * 2) - .fluidInputs(fluid('nitric_acid') * 2000) - .fluidOutputs(fluid('nickel_nitrate_solution') * 1000) - .duration(20) - .EUt(30) - .buildAndRegister() - -DISTILLERY.recipeBuilder() - .fluidInputs(fluid('nickel_nitrate_solution') * 1000) - .outputs(metaitem('dustNickelIiNitrate') * 9) - .fluidOutputs(fluid('water') * 1000) - .duration(20) - .EUt(30) - .buildAndRegister() - -BR.recipeBuilder() - .inputs(ore('dustNickelIiNitrate') * 9) - .fluidInputs(fluid('acetylacetone') * 2000) - .fluidInputs(fluid('sodium_hydroxide_solution') * 2000) - .fluidOutputs(fluid('nickel_ii_bisacetylacetonate_solution') * 2000) - .duration(120) - .EUt(30) - .buildAndRegister() - -ROASTER.recipeBuilder() - .fluidInputs(fluid('nickel_ii_bisacetylacetonate_solution') * 2000) - .outputs(metaitem('dustNickelIiBisacetylacetonate')) - .outputs(metaitem('dustSodiumNitrate') * 10) - .fluidOutputs(fluid('dense_steam') * 2000) - .duration(120) - .EUt(480) - .buildAndRegister() - -BR.recipeBuilder() - .inputs(ore('dustNickelIiBisacetylacetonate')) - .fluidInputs(fluid('cyclooctadiene') * 2000) - .fluidInputs(fluid('triethylaluminium') * 2000) - .outputs(metaitem('dustBiscyclooctadienenickelZero')) - .fluidOutputs(fluid('ethane') * 1000) - .fluidOutputs(fluid('ethylene') * 1000) - .fluidOutputs(fluid('diethylaluminium_acetylacetonate') * 2000) - .duration(120) - .EUt(30) - .buildAndRegister() - -BR.recipeBuilder() - .fluidInputs(fluid('diethylaluminium_acetylacetonate') * 1000) - .fluidInputs(fluid('hydrochloric_acid') * 3000) - .fluidOutputs(fluid('aluminium_chloride_solution') * 3000) - .fluidOutputs(fluid('acetylacetone') * 1000) - .fluidOutputs(fluid('ethylene') * 2000) - .duration(160) - .EUt(30) - .buildAndRegister() - -DISTILLERY.recipeBuilder() - .fluidInputs(fluid('aluminium_chloride_solution') * 3000) - .outputs(metaitem('dustAluminiumChloride') * 4) - .fluidOutputs(fluid('water') * 3000) - .EUt(Globals.voltAmps[1]) - .duration(20) - .buildAndRegister() - -BR.recipeBuilder() - .inputs(ore('dustTriphenylphosphine')) - .fluidInputs(fluid('phosphorus_trichloride') * 500) - .fluidOutputs(fluid('chlorodiphenylphosphine') * 1500) - .duration(200) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() - -CSTR.recipeBuilder() - .fluidInputs(fluid('chlorodiphenylphosphine') * 50) - .fluidInputs(fluid('acetic_acid') * 50) - .notConsumable(fluid('sodium_hydroxide_solution') * 50) - .fluidOutputs(fluid('diphenylphosphinoacetic_acid') * 50) - .duration(10) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() - -BR.recipeBuilder() - .inputs(ore('dustBiscyclooctadienenickelZero')) - .fluidInputs(fluid('diphenylphosphinoacetic_acid') * 1000) - .fluidInputs(fluid('ethylene_glycol') * 1000) - .fluidOutputs(fluid('shell_higher_olefin_catalyst_solution') * 1000) - .duration(200) - .EUt(Globals.voltAmps[3]) - .buildAndRegister() - -BR.recipeBuilder() - .fluidInputs(fluid('ethylene') * (1000 + 3000)) + .fluidInputs(fluid('ethylene') * 4000) .notConsumable(fluid('shell_higher_olefin_catalyst_solution') * 1000) .fluidOutputs(fluid('alpha_olefin_mixture') * 1000) .duration(125) diff --git a/groovy/postInit/chemistry/inorganic_chemistry/elements/d_block/group7/ManganeseChain.groovy b/groovy/postInit/chemistry/inorganic_chemistry/elements/d_block/group7/ManganeseChain.groovy index d107b17f3..8e9dd538d 100644 --- a/groovy/postInit/chemistry/inorganic_chemistry/elements/d_block/group7/ManganeseChain.groovy +++ b/groovy/postInit/chemistry/inorganic_chemistry/elements/d_block/group7/ManganeseChain.groovy @@ -66,7 +66,7 @@ class ReductantManganese { } def hydrocarbonReductants = [ - new ReductantManganese('fuel_oil', 'carbon_dioxide', 67, 288), + new ReductantManganese('heavy_gas_oil', 'carbon_dioxide', 67, 288), new ReductantManganese('natural_gas', 'carbon_dioxide', 167, 234) ] diff --git a/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group15/PhosphorusChain.groovy b/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group15/PhosphorusChain.groovy index d89332f86..9389e1509 100644 --- a/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group15/PhosphorusChain.groovy +++ b/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group15/PhosphorusChain.groovy @@ -249,7 +249,7 @@ MIXER.recipeBuilder() FLOTATION.recipeBuilder() .fluidInputs(fluid('filtered_phosphate_slurry') * 2000) .notConsumable(fluid('alkaline_sodium_oleate_solution') * 1000) - .notConsumable(fluid('fuel_oil') * 100) + .notConsumable(fluid('heavy_gas_oil') * 100) .fluidOutputs(fluid('phosphate_concentrate_slurry') * 1000) .fluidOutputs(fluid('limestone_tailing_slurry') * 1000) .duration(20) diff --git a/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group16/OxygenChain.groovy b/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group16/OxygenChain.groovy index 103ddf0b1..08248c8ab 100644 --- a/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group16/OxygenChain.groovy +++ b/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group16/OxygenChain.groovy @@ -11,24 +11,9 @@ ASSEMBLER.recipeBuilder() .EUt(30) .buildAndRegister() -AUTOCLAVE.recipeBuilder() - .fluidInputs(fluid('raw_molecular_sieve') * 4000) - .inputs(ore('dustClay') * 8) - .fluidOutputs(fluid('zeolite_13_solution') * 4000) - .duration(180) - .EUt(30) - .buildAndRegister() - -DRYER.recipeBuilder() - .fluidInputs(fluid('zeolite_13_solution') * 4000) - .outputs(metaitem('dustZeolite13') * 8) - .duration(180) - .EUt(30) - .buildAndRegister() - AUTOCLAVE.recipeBuilder() .fluidInputs(fluid('distilled_water') * 1000) - .inputs(ore('dustZeolite13') * 4) + .inputs(ore('dustMolecularSieve') * 4) .inputs(metaitem('zeolite_membrane_support') * 1) .outputs(metaitem('zeolite_membrane') * 1) .duration(180) diff --git a/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group16/SulfurChain.groovy b/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group16/SulfurChain.groovy index 6ae1f31f8..a0f5f40b4 100644 --- a/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group16/SulfurChain.groovy +++ b/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group16/SulfurChain.groovy @@ -1,24 +1,48 @@ import globals.Globals -import gregtech.api.recipes.ModHandler; -import gregtech.api.unification.material.Materials; -import gregtech.api.unification.ore.OrePrefix; -import gregtech.api.unification.stack.UnificationEntry; +ROASTER = recipemap('roaster'); +REACTION_FURNACE = recipemap('reaction_furnace') -def ROASTER_RECIPES = recipemap('roaster'); -ROASTER_RECIPES.recipeBuilder() -.inputs(ore('dustPyrite') * 2) -.outputs(metaitem('dustIronIiiSulfate')) -.outputs(metaitem('dustSulfur')) -.duration(80) -.EUt(7) -.buildAndRegister() +ROASTER.recipeBuilder() + .inputs(ore('dustPyrite') * 2) + .outputs(metaitem('dustIronIiiSulfate')) + .outputs(metaitem('dustSulfur')) + .duration(80) + .EUt(7) + .buildAndRegister() -ROASTER_RECIPES.recipeBuilder() -.inputs(ore('dustIronIiiSulfate')) -.outputs(metaitem('dustBandedIron')) -.fluidOutputs(fluid('sulfur_trioxide') * 3000) -.duration(160) -.EUt(7) -.buildAndRegister() +ROASTER.recipeBuilder() + .inputs(ore('dustIronIiiSulfate')) + .outputs(metaitem('dustBandedIron')) + .fluidOutputs(fluid('sulfur_trioxide') * 3000) + .duration(160) + .EUt(7) + .buildAndRegister() + +REACTION_FURNACE.recipeBuilder() + .fluidInputs(fluid('hydrogen_sulfide') * 3000) + .fluidInputs(fluid('oxygen') * 3000) + .fluidOutputs(fluid('uncatalyzed_sulfurous_gases') * 3000) + .outputs(metaitem('dustSulfur')) + .duration(150) + .EUt(30) + .buildAndRegister() + +REACTION_FURNACE.recipeBuilder() + .fluidInputs(fluid('hydrogen_sulfide') * 3000) + .fluidInputs(fluid('air') * 9000) + .fluidOutputs(fluid('uncatalyzed_sulfurous_gases') * 3000) + .outputs(metaitem('dustSulfur')) + .duration(150) + .EUt(30) + .buildAndRegister() + +REACTION_FURNACE.recipeBuilder() + .notConsumable(metaitem('catalystBedAlumina')) + .fluidInputs(fluid('uncatalyzed_sulfurous_gases') * 3000) + .fluidOutputs(fluid('steam') * 2000) + .outputs(metaitem('dustSulfur') * 2) + .duration(150) + .EUt(30) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group18/AirDistillation.groovy b/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group18/AirDistillation.groovy index 10ba70b49..9acf0de7d 100644 --- a/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group18/AirDistillation.groovy +++ b/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group18/AirDistillation.groovy @@ -1,7 +1,6 @@ import globals.Globals SIFTER = recipemap('sifter') -MIXER = recipemap('mixer') VACUUM_CHAMBER = recipemap('vacuum_chamber') FLUID_COMPRESSOR = recipemap('fluid_compressor') FLUID_DECOMPRESSOR = recipemap('fluid_decompressor') @@ -12,7 +11,6 @@ HIGH_PRESSURE_DISTILLATION_TOWER = recipemap('high_pressure_cryogenic_distillati SINGLE_COLUMN_CRYOGENIC_DISTILLATION_PLANT = recipemap('single_column_cryogenic_distillation') BATH_CONDENSER = recipemap('bath_condenser') FBR = recipemap('fixed_bed_reactor') -SINTERING_OVEN = recipemap('sintering_oven') CENTRIFUGE = recipemap('centrifuge') FLUID_HEATER = recipemap('fluid_heater') DT = recipemap('distillation_tower') @@ -315,23 +313,6 @@ BATH_CONDENSER.recipeBuilder() .buildAndRegister() //DEOXYGENATION -MIXER.recipeBuilder() - .inputs(ore('dustAmmoniumHexachloroplatinate') * 17) - .fluidInputs(fluid('phosphoric_acid') * 1000) - .fluidOutputs(fluid('platinum_precursor_solution') * 1000) - .duration(100) - .EUt(Globals.voltAmps[3]) - .buildAndRegister() - -SINTERING_OVEN.recipeBuilder() - .inputs(ore('dustAlumina') * 5) - .fluidInputs(fluid('platinum_precursor_solution') * 1000) - .outputs(metaitem('dustSupportedPlatinum')) - .fluidOutputs(fluid('phosphoric_acid') * 1000) - .duration(100) - .EUt(Globals.voltAmps[3]) - .buildAndRegister() - FBR.recipeBuilder() .fluidInputs(fluid('liquid_crude_argon') * 50) .fluidInputs(fluid('hydrogen') * 24) diff --git a/groovy/postInit/chemistry/organic_chemistry/AlcoholChain.groovy b/groovy/postInit/chemistry/organic_chemistry/AlcoholChain.groovy index 4175688e2..8173f6401 100644 --- a/groovy/postInit/chemistry/organic_chemistry/AlcoholChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/AlcoholChain.groovy @@ -96,6 +96,34 @@ DISTILLATION_TOWER.recipeBuilder() .EUt(30) .buildAndRegister() +// Propanol +BR.recipeBuilder() + .inputs(ore('dustDicobaltOctacarbonyl') * 18) + .fluidInputs(fluid('hydrogen') * 2000) + .fluidInputs(fluid('carbon_monoxide') * 1000) + .fluidInputs(fluid('ethylene') * 1000) + .fluidOutputs(fluid('propanal_mixture') * 1000) + .EUt(Globals.voltAmps[3]) + .duration(80) + .buildAndRegister() + +DISTILLERY.recipeBuilder() + .fluidInputs(fluid('propanal_mixture') * 1000) + .outputs(metaitem('dustDicobaltOctacarbonyl') * 18) + .fluidOutputs(fluid('propionaldehyde') * 800) + .EUt(Globals.voltAmps[3]) + .duration(80) + .buildAndRegister() + +FBR.recipeBuilder() + .fluidInputs(fluid('propionaldehyde') * 50) + .fluidInputs(fluid('hydrogen') * 100) + .notConsumable(metaitem('catalystBedPlatinum')) + .fluidOutputs(fluid('n_propanol') * 50) + .EUt(Globals.voltAmps[3]) + .duration(4) + .buildAndRegister() + // n-Pentanol REACTION_FURNACE.recipeBuilder() .inputs(metaitem('dustDicobaltOctacarbonyl') * 18) diff --git a/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy b/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy index 5f8e01116..d3b5f5aca 100755 --- a/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy @@ -57,7 +57,7 @@ byNames(['dustCoke', 'gemCoke']).each { input -> PYROLYSE_OVEN.recipeBuilder() .inputs(ore(input.name) * 16) .outputs(metaitem(output.name) * 12) - .fluidInputs(fluid('steam') * 15000) + .fluidInputs(fluid('dense_steam') * 15000) .fluidOutputs(fluid('syngas') * 12000) .duration(320) .EUt(60) @@ -69,7 +69,7 @@ byNames(['dustLigniteCoke', 'gemLigniteCoke']).each { input -> PYROLYSE_OVEN.recipeBuilder() .inputs(ore(input.name) * 16) .outputs(metaitem(output.name) * 9) - .fluidInputs(fluid('steam') * 15000) + .fluidInputs(fluid('dense_steam') * 15000) .fluidOutputs(fluid('syngas') * 12000) .duration(320) .EUt(60) diff --git a/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy b/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy index b981b4a74..c6893e6a5 100755 --- a/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy @@ -770,28 +770,6 @@ FBR.recipeBuilder() //RHENIUM EXTRACTION -FBR.recipeBuilder() - .notConsumable(ore('catalystBedAlumina')) - .fluidInputs(fluid('n_butanol') * 50) - .fluidInputs(fluid('ammonia') * 50) - .fluidOutputs(fluid('n_butylamine') * 50) - .fluidOutputs(fluid('water') * 50) - .duration(3) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() - -BR.recipeBuilder() - .inputs(ore('dustSiliconDioxide') * 6) - .inputs(ore('dustAluminiumSulfate') * 51) - .inputs(ore('dustSodiumHydroxide')) - .fluidInputs(fluid('ethanol') * 100) - .fluidInputs(fluid('demineralized_water') * 1800) - .fluidInputs(fluid('n_butylamine') * 100) - .outputs(metaitem('dustHzsmFive')) - .duration(500) - .EUt(480) - .buildAndRegister(); - FBR.recipeBuilder() .notConsumable(ore('catalystBedHzsmFive')) .fluidInputs(fluid('toluene') * 50) diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy b/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy old mode 100755 new mode 100644 similarity index 100% rename from groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy rename to groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Fuels.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Fuels.groovy index 1f23f2354..66df1f052 100755 --- a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Fuels.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Fuels.groovy @@ -35,7 +35,7 @@ BLENDER = recipemap('blender') def major_solvents = [ 'xylene', - 'naphtha', + 'light_naphtha', 'toluene' ] @@ -50,8 +50,9 @@ def minor_solvents = [ // Methyl-tert-butyl ether FBR.recipeBuilder() + .notConsumable(ore('catalystBedChloridedAlumina')) + .notConsumable(fluid('hydrogen') * 50) .fluidInputs(fluid('butane') * 50) - .notConsumable(ore('dustAluminiumChloride')) .fluidOutputs(fluid('isobutane') * 50) .duration(5) .EUt(30) @@ -97,11 +98,11 @@ def minor_solvents = [ .EUt(120) .buildAndRegister() - // 2,4-Dimethyl-6-tert-butylphenol + // 2,4/5-Dimethyl-6-tert-butylphenol CSTR.recipeBuilder() .fluidInputs(fluid('isobutylene') * 50) - .fluidInputs(fluid('xylenol') * 50) + .fluidInputs(fluid('two_four_five_xylenol_mixture') * 50) .notConsumable(fluid('sulfuric_acid') * 50) .fluidOutputs(fluid('dimethyl_tert_butylphenol') * 50) .duration(5) @@ -597,10 +598,32 @@ log.infoMC("Registered oxygenate pairs") // Gasoline final blending +def GasolineFeedstocks = [ + 'naphtha' : 1, + 'light_naphtha' : 1, + 'reformate' : 3, + 'reformate_raffinate' : 2.5, + 'polymerate' : 2, + 'isomerate' : 3, + 'alkylate' : 2.5, + 'pyrolysis_gasoline' : 1.5, + 'pyrolysis_raffinate' : 1 +] + +GasolineFeedstocks.each { key, val -> + MIXER.recipeBuilder() + .fluidInputs(fluid(key) * 1000) + .fluidOutputs(fluid('gasoline') * ((int)(1000 * val))) + .circuitMeta(10) + .duration(2) + .EUt(120) + .buildAndRegister() +} + BLENDER.recipeBuilder() .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('oxygenates') * 100) - .fluidInputs(fluid('antiknock') * 100) + .fluidInputs(fluid('oxygenates') * 50) + .fluidInputs(fluid('antiknock') * 50) .fluidOutputs(fluid('midgrade_gasoline') * 1000) .duration(10) .EUt(120) @@ -608,8 +631,8 @@ BLENDER.recipeBuilder() BLENDER.recipeBuilder() .fluidInputs(fluid('midgrade_gasoline') * 1000) - .fluidInputs(fluid('methyl_carbitol') * 100) - .fluidInputs(fluid('corrosion_inhibitor') * 100) + .fluidInputs(fluid('methyl_carbitol') * 50) + .fluidInputs(fluid('corrosion_inhibitor') * 50) .fluidOutputs(fluid('premium_gasoline') * 1000) .duration(10) .EUt(120) @@ -617,8 +640,8 @@ BLENDER.recipeBuilder() BLENDER.recipeBuilder() .fluidInputs(fluid('premium_gasoline') * 1000) - .fluidInputs(fluid('antioxidants') * 100) - .fluidInputs(fluid('metal_deactivator') * 100) + .fluidInputs(fluid('antioxidants') * 50) + .fluidInputs(fluid('metal_deactivator') * 50) .fluidOutputs(fluid('supreme_gasoline') * 1000) .duration(10) .EUt(120) @@ -626,10 +649,27 @@ BLENDER.recipeBuilder() // Diesel final blending +MIXER.recipeBuilder() + .fluidInputs(fluid('light_gas_oil') * 1000) + .fluidOutputs(fluid('diesel') * 1000) + .circuitMeta(1) + .duration(2) + .EUt(120) + .buildAndRegister() + +MIXER.recipeBuilder() + .fluidInputs(fluid('light_gas_oil') * 700) + .fluidInputs(fluid('light_cycle_oil') * 300) + .fluidOutputs(fluid('diesel') * 1000) + .circuitMeta(2) + .duration(2) + .EUt(120) + .buildAndRegister() + BLENDER.recipeBuilder() .fluidInputs(fluid('diesel') * 1000) - .fluidInputs(fluid('ignition_improver') * 100) - .fluidInputs(fluid('cold_flow_improver') * 100) + .fluidInputs(fluid('ignition_improver') * 75) + .fluidInputs(fluid('cold_flow_improver') * 75) .fluidOutputs(fluid('midgrade_diesel') * 1000) .duration(10) .EUt(120) @@ -637,8 +677,8 @@ BLENDER.recipeBuilder() BLENDER.recipeBuilder() .fluidInputs(fluid('midgrade_diesel') * 1000) - .fluidInputs(fluid('antistatic_additive') * 100) - .fluidInputs(fluid('lubricity_additive') * 100) + .fluidInputs(fluid('antistatic_additive') * 75) + .fluidInputs(fluid('lubricity_additive') * 75) .fluidOutputs(fluid('premium_diesel') * 1000) .duration(10) .EUt(120) @@ -646,8 +686,8 @@ BLENDER.recipeBuilder() BLENDER.recipeBuilder() .fluidInputs(fluid('premium_diesel') * 1000) - .fluidInputs(fluid('antioxidants') * 100) - .fluidInputs(fluid('antifoaming_additive') * 100) + .fluidInputs(fluid('antioxidants') * 75) + .fluidInputs(fluid('antifoaming_additive') * 75) .fluidOutputs(fluid('supreme_diesel') * 1000) .duration(10) .EUt(120) @@ -657,8 +697,8 @@ BLENDER.recipeBuilder() BLENDER.recipeBuilder() .fluidInputs(fluid('kerosene') * 1000) - .fluidInputs(fluid('methyl_carbitol') * 100) - .fluidInputs(fluid('antistatic_additive') * 100) + .fluidInputs(fluid('methyl_carbitol') * 25) + .fluidInputs(fluid('antistatic_additive') * 25) .fluidOutputs(fluid('midgrade_kerosene') * 1000) .duration(10) .EUt(120) @@ -666,8 +706,8 @@ BLENDER.recipeBuilder() BLENDER.recipeBuilder() .fluidInputs(fluid('midgrade_kerosene') * 1000) - .fluidInputs(fluid('lubricity_additive') * 100) - .fluidInputs(fluid('antioxidants') * 100) + .fluidInputs(fluid('lubricity_additive') * 25) + .fluidInputs(fluid('antioxidants') * 25) .fluidOutputs(fluid('premium_kerosene') * 1000) .duration(10) .EUt(120) @@ -675,9 +715,52 @@ BLENDER.recipeBuilder() BLENDER.recipeBuilder() .fluidInputs(fluid('premium_kerosene') * 1000) - .fluidInputs(fluid('corrosion_inhibitor') * 100) - .fluidInputs(fluid('metal_deactivator') * 100) + .fluidInputs(fluid('corrosion_inhibitor') * 25) + .fluidInputs(fluid('metal_deactivator') * 25) .fluidOutputs(fluid('supreme_kerosene') * 1000) .duration(10) .EUt(120) .buildAndRegister() + +// RP-1 + +FBR.recipeBuilder() + .fluidInputs(fluid('supreme_kerosene') * 1000) + .fluidInputs(fluid('hydrogen') * 1000) + .notConsumable(metaitem('catalystBedHydrotreatingCatalyst')) + .fluidOutputs(fluid('rp_one') * 1000) + .duration(100) + .EUt(480) + .buildAndRegister() + +// Diesel * 6000 +mods.gregtech.mixer.removeByInput(120, null, [fluid('light_fuel') * 5000 * 5000, fluid('heavy_fuel') * 1000 * 1000]) + +def residueFeedstocks = [ + 'atmospheric_oil_residue', + 'vacuum_oil_residue', + 'visbreaking_residue', + 'deasphalted_oil', + 'clarified_slurry_oil' +] + +// Fuel Oil (marine and bunker fuels) + +MIXER.recipeBuilder() + .fluidInputs(fluid('heavy_gas_oil') * 1000) + .fluidOutputs(fluid('fuel_oil') * 1000) + .circuitMeta(1) + .duration(2) + .EUt(120) + .buildAndRegister() + +for (residue in residueFeedstocks) { + MIXER.recipeBuilder() + .fluidInputs(fluid('heavy_gas_oil') * 500) + .fluidInputs(fluid(residue) * 500) + .fluidOutputs(fluid('fuel_oil') * 1000) + .circuitMeta(2) + .duration(2) + .EUt(120) + .buildAndRegister() +} \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy index 922835ab7..13a795493 100755 --- a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy @@ -15,9 +15,7 @@ VACUUM_DT = recipemap('vacuum_distillation') CRYSTALLIZER = recipemap('crystallizer') EXTRACTOR = recipemap('extractor') ROTARY_KILN = recipemap('rotary_kiln') -COKING = recipemap('coking_tower') CSTR = recipemap('continuous_stirred_tank_reactor') -CRACKER = recipemap('cracker') EBF = recipemap('electric_blast_furnace') REFORMER = recipemap('catalytic_reformer_recipes') REACTION_FURNACE = recipemap('reaction_furnace') @@ -38,6 +36,14 @@ PHASE_SEPARATOR = recipemap('phase_separator') // Straight run lubricating oil + MIXER.recipeBuilder() + .fluidInputs(fluid('butanone') * 1000) + .fluidInputs(fluid('methyl_isobutyl_ketone') * 1000) + .fluidOutputs(fluid('dewaxing_solvent') * 2000) + .duration(20) + .EUt(30) + .buildAndRegister() + MIXER.recipeBuilder() .fluidInputs(fluid('one_two_dichloroethane') * 1000) .fluidInputs(fluid('dichloromethane') * 1000) @@ -54,6 +60,14 @@ PHASE_SEPARATOR = recipemap('phase_separator') .EUt(30) .buildAndRegister() + CENTRIFUGE.recipeBuilder() + .fluidInputs(fluid('deasphalted_oil') * 850) + .fluidInputs(fluid('dewaxing_solvent') * 2000) + .fluidOutputs(fluid('solvent_lubricant_mixture') * 2850) + .duration(20) + .EUt(30) + .buildAndRegister() + HEAT_EXCHANGER.recipeBuilder() .fluidInputs(fluid('ice') * 500) .fluidInputs(fluid('solvent_lubricant_mixture') * 2850) @@ -77,15 +91,6 @@ PHASE_SEPARATOR = recipemap('phase_separator') .EUt(30) .buildAndRegister() - FBR.recipeBuilder() - .fluidInputs(fluid('sulfuric_lubricating_oil') * 180) - .fluidInputs(fluid('hydrogen') * 45) - .notConsumable(metaitem('catalystBedAlumina')) - .fluidOutputs(fluid('lubricating_oil') * 180) - .duration(20) - .EUt(30) - .buildAndRegister() - // Hydrodewaxing catalyst LCR.recipeBuilder() @@ -127,6 +132,7 @@ PHASE_SEPARATOR = recipemap('phase_separator') .fluidInputs(fluid('hydrogen') * 315) .notConsumable(metaitem('catalystBedPlatinumSapoEleven')) .fluidOutputs(fluid('lubricating_oil') * 850) + .fluidOutputs(fluid('sour_gas') * 315) .duration(20) .EUt(30) .buildAndRegister() @@ -211,23 +217,6 @@ PHASE_SEPARATOR = recipemap('phase_separator') .EUt(Globals.voltAmps[2]) .buildAndRegister() - MIXER.recipeBuilder() - .inputs(ore('dustPalladiumChloride') * 3) - .fluidInputs(fluid('phosphoric_acid') * 1000) - .fluidOutputs(fluid('palladium_precursor_solution') * 1000) - .duration(100) - .EUt(Globals.voltAmps[3]) - .buildAndRegister() - - SINTERING_OVEN.recipeBuilder() - .inputs(ore('dustAlumina') * 5) - .fluidInputs(fluid('palladium_precursor_solution') * 1000) - .outputs(metaitem('dustSupportedPalladium')) - .fluidOutputs(fluid('phosphoric_acid') * 1000) - .duration(100) - .EUt(Globals.voltAmps[3]) - .buildAndRegister() - FBR.recipeBuilder() .fluidInputs(fluid('unsaturated_polyalphaolefin') * 50) .fluidInputs(fluid('hydrogen') * 100) @@ -955,6 +944,7 @@ BR.recipeBuilder() def baseOilMap = [ 'seed_oil': 0.5, 'lubricating_oil': 1, + 'light_cycle_oil' : 1, 'polybutene': 1.5, 'polyalphaolefin': 2.5, 'ester_base_oil': 3 @@ -982,7 +972,6 @@ def liquidFrictionModifierMap = [ def solidAntiwearMap = [ 'dustMolybdenumDialkyldithiophosphate': 4, 'dustZincBisdiamyldithiocarbamate': 2 - ] def liquidAntiwearMap = [ @@ -1001,7 +990,7 @@ def pourPointDepressantMap = [ // calcium_phenate: 3 def detergentMap = [ - 'dustCalciumDodecylbenzeneSulfonate': 1, + 'dustSmallCalciumDodecylbenzeneSulfonate': 1, 'dustCalciumSalicylate': 2, 'dustPolyisobuteneSuccinicAnhydride': 4 ] @@ -1061,7 +1050,7 @@ solidAntiwearMap.each { saw, multiplier -> BLENDER.recipeBuilder() .inputs(ore(saw)) - .inputs(ore('dustCalciumDinonylnaphthaleneSulfonate')) + .inputs(ore('dustSmallCalciumDinonylnaphthaleneSulfonate')) .fluidInputs(fluid('lubricant') * (1000 * multiplier * 4)) .fluidInputs(fluid('antifoaming_additive') * 1000) .fluidOutputs(fluid('midgrade_lubricant') * (1000 * multiplier * 4)) @@ -1082,7 +1071,7 @@ liquidAntiwearMap.each { law, multiplier -> .buildAndRegister() BLENDER.recipeBuilder() - .inputs(ore('dustCalciumDinonylnaphthaleneSulfonate')) + .inputs(ore('dustSmallCalciumDinonylnaphthaleneSulfonate')) .fluidInputs(fluid('lubricant') * (1000 * multiplier * 4)) .fluidInputs(fluid('antifoaming_additive') * 1000) .fluidInputs(fluid(law) * 1000) @@ -1097,7 +1086,7 @@ pourPointDepressantMap.each { ppd, multiplier1 -> BLENDER.recipeBuilder() .inputs(ore(ppd)) .fluidInputs(fluid('calcium_phenate') * 1000) - .inputs(ore('dustCalciumDidodecylbenzeneSulfonate')) + .inputs(ore('dustTinyCalciumDidodecylbenzeneSulfonate')) .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * 3 * 4)) .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * 3 * 4)) .duration(200) @@ -1107,7 +1096,7 @@ pourPointDepressantMap.each { ppd, multiplier1 -> BLENDER.recipeBuilder() .inputs(ore(ppd)) .fluidInputs(fluid('calcium_phenate') * 1000) - .inputs(ore('dustFourNonylphenoxyaceticAcid')) + .inputs(ore('dustSmallFourNonylphenoxyaceticAcid')) .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * 3 * 4 * 1.5)) .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * 3 * 4 * 1.5)) .duration(200) @@ -1118,7 +1107,7 @@ pourPointDepressantMap.each { ppd, multiplier1 -> BLENDER.recipeBuilder() .inputs(ore(det)) .inputs(ore(ppd)) - .inputs(ore('dustCalciumDidodecylbenzeneSulfonate')) + .inputs(ore('dustTinyCalciumDidodecylbenzeneSulfonate')) .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) .duration(200) @@ -1128,7 +1117,7 @@ pourPointDepressantMap.each { ppd, multiplier1 -> BLENDER.recipeBuilder() .inputs(ore(det)) .inputs(ore(ppd)) - .inputs(ore('dustFourNonylphenoxyaceticAcid')) + .inputs(ore('dustSmallFourNonylphenoxyaceticAcid')) .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) .duration(200) diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/NaturalGas.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/NaturalGas.groovy new file mode 100644 index 000000000..ebbda49d3 --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/NaturalGas.groovy @@ -0,0 +1,67 @@ +import globals.Globals + +MIXER = recipemap('mixer') +FLUID_HEATER = recipemap('fluid_heater') +BCR = recipemap('bubble_column_reactor') +DT = recipemap('distillation_tower') + +// Water removal + +MIXER.recipeBuilder() +.fluidInputs(fluid('crude_natural_gas') * 1000) +.fluidInputs(fluid('triethylene_glycol') * 1000) +.fluidOutputs(fluid('sulfuric_natural_gas') * 1000) +.fluidOutputs(fluid('hydrated_triethylene_glycol') * 1000) +.duration(10) +.EUt(30) +.buildAndRegister() + +FLUID_HEATER.recipeBuilder() +.fluidInputs(fluid('hydrated_triethylene_glycol') * 1000) +.fluidOutputs(fluid('triethylene_glycol') * 1000) +.duration(10) +.EUt(30) +.buildAndRegister() + +// Acid gas removal (H2S, CO2) + +BCR.recipeBuilder() +.fluidInputs(fluid('sulfuric_natural_gas') * 10000) +.fluidInputs(fluid('ethanolamine_mix') * 1000) +.fluidOutputs(fluid('natural_gas') * 8000) +.fluidOutputs(fluid('acidic_rich_amine') * 1000) +.duration(40) +.EUt(120) +.buildAndRegister() + +DT.recipeBuilder() +.fluidInputs(fluid('acidic_rich_amine') * 1000) +.fluidOutputs(fluid('hydrogen_sulfide') * 1000) +.fluidOutputs(fluid('carbon_dioxide') * 1000) +.fluidOutputs(fluid('ethanolamine_mix') * 1000) +.duration(10) +.EUt(120) +.buildAndRegister() + +// Natural Gas Distillation + +DT.recipeBuilder() +.fluidInputs(fluid('natural_gas') * 1000) +.fluidOutputs(fluid('butane') * 100) +.fluidOutputs(fluid('propane') * 100) +.fluidOutputs(fluid('ethane') * 100) +.fluidOutputs(fluid('methane') * 750) +.duration(400) +.EUt(Globals.voltAmps[1] * 2) +.buildAndRegister() + +DT.recipeBuilder() +.fluidInputs(fluid('liquid_natural_gas') * 20) +.fluidOutputs(fluid('butane') * 128) +.fluidOutputs(fluid('propane') * 128) +.fluidOutputs(fluid('ethane') * 128) +.fluidOutputs(fluid('methane') * 960) +.fluidOutputs(fluid('helium') * 25) +.duration(100) +.EUt(Globals.voltAmps[2] * 2) +.buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/OilOverhaul.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/OilOverhaul.groovy deleted file mode 100644 index 0afc59f01..000000000 --- a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/OilOverhaul.groovy +++ /dev/null @@ -1,1115 +0,0 @@ -import globals.Globals -import static globals.SinteringGlobals.* - -import static gregtech.api.unification.material.Materials.*; -import gregtech.api.unification.material.MarkerMaterials; -import static gregtech.api.unification.ore.OrePrefix.dye; - -BR = recipemap('batch_reactor') -MIXER = recipemap('mixer') -ELECTROSTATIC_SEPARATOR = recipemap('electrostatic_separator') -CENTRIFUGE = recipemap('centrifuge') -DT = recipemap('distillation_tower') -ROASTER = recipemap('roaster') -VACUUM_DT = recipemap('vacuum_distillation') -CRYSTALLIZER = recipemap('crystallizer') -EXTRACTOR = recipemap('extractor') -ROTARY_KILN = recipemap('rotary_kiln') -COKING = recipemap('coking_tower') -CSTR = recipemap('continuous_stirred_tank_reactor') -CRACKER = recipemap('cracker') -EBF = recipemap('electric_blast_furnace') -REFORMER = recipemap('catalytic_reformer_recipes') -REACTION_FURNACE = recipemap('reaction_furnace') -FBR = recipemap('fixed_bed_reactor') -SIFTER = recipemap('sifter') -ALLOY_SMELTER = recipemap('alloy_smelter') -BCR = recipemap('bubble_column_reactor') -TBR = recipemap('trickle_bed_reactor') -LCR = recipemap('large_chemical_reactor') -AUTOCLAVE = recipemap('autoclave') -HEAT_EXCHANGER = recipemap('heat_exchanger') -UV_LIGHT_BOX = recipemap('uv_light_box') -FLUID_HEATER = recipemap('fluid_heater') - -class Oil { - String name - - Oil(String name) { - this.name = name - } - - def getDiluted(int amount) { - return fluid('diluted_' + this.name) * amount - } - - def getDesalted(int amount) { - return fluid('desalted_' + this.name) * amount - } - - def get(int amount) { - return fluid(this.name) * amount - } -} - -class OilFraction { - String name - Boolean isUpgradable = false - String upgrade_name = "" - - OilFraction(String name) { - this.name = name - } - - OilFraction(String name, String upgrade_name) { - this.name = name - this.isUpgradable = true - this.upgrade_name = upgrade_name - } - - def getTreatedSulfuric(int amount) { - return fluid('treated_sulfuric_' + this.name) * amount - } - - def getSulfuric(int amount) { - return fluid('sulfuric_' + this.name) * amount - } - - def getUpgraded(int amount) { - return fluid(this.upgrade_name) * amount - } - - def getUpgradedMix(int amount) { - return fluid('upgraded_' + this.name + '_mix') * amount - } - - def get(int amount) { - return fluid(this.name) * amount - } -} - -class OilFractionCrackable extends OilFraction { - - OilFractionCrackable(String name){ - super(name) - } - - OilFractionCrackable(String name, String upgrade_name){ - super(name, upgrade_name) - } - - def getLightlyHydro(int amount) { - return fluid('lightly_hydrocracked_' + this.name) * amount - } - - def getSeverelyHydro(int amount) { - return fluid('severely_hydrocracked_' + this.name) * amount - } - - def getLightlySteam(int amount) { - return fluid('lightly_steamcracked_' + this.name) * amount - } - - def getSeverelySteam(int amount) { - return fluid('severely_steamcracked_' + this.name) * amount - } - - def getLightlyHydroMix(int amount) { - return fluid('lightly_hydrocracked_' + this.name + '_mix') * amount - } - - def getSeverelyHydroMix(int amount) { - return fluid('severely_hydrocracked_' + this.name + '_mix') * amount - } - - def getLightlySteamMix(int amount) { - return fluid('lightly_steamcracked_' + this.name + '_mix') * amount - } - - def getSeverelySteamMix(int amount) { - return fluid('severely_steamcracked_' + this.name + '_mix') * amount - } - -} - -def fractions = [ - fuel_oil : new OilFraction('fuel_oil', 'diesel'), - diesel : new OilFraction('diesel', 'kerosene'), - kerosene : new OilFractionCrackable('kerosene', 'naphtha'), - naphtha : new OilFractionCrackable('naphtha', 'gasoline'), - gasoline : new OilFractionCrackable('gasoline'), - refinery_gas : new OilFraction('refinery_gas'), - natural_gas : new OilFraction('natural_gas') -] - -def oils = [ - oil: new Oil('oil'), - oil_light: new Oil('oil_light'), - oil_heavy: new Oil('oil_heavy') -] - - - -oils.each { _, oil -> { - MIXER.recipeBuilder() - .fluidInputs(fluid('water') * 100) - .fluidInputs(oil.get(1000)) - .fluidOutputs(oil.getDiluted(1000)) - .duration(200) - .EUt(30) - .buildAndRegister() - } -} - -ELECTROSTATIC_SEPARATOR.recipeBuilder() - .fluidInputs(fluid('diluted_oil') * 1000) - .fluidOutputs(fluid('oily_brine') * 100) - .fluidOutputs(fluid('desalted_oil') * 1000) - .duration(160) - .EUt(30) - .buildAndRegister() - -ELECTROSTATIC_SEPARATOR.recipeBuilder() - .fluidInputs(fluid('diluted_oil_light') * 1000) - .fluidOutputs(fluid('light_oily_brine') * 100) - .fluidOutputs(fluid('desalted_oil_light') * 1000) - .duration(160) - .EUt(30) - .buildAndRegister() - -ELECTROSTATIC_SEPARATOR.recipeBuilder() - .fluidInputs(fluid('diluted_oil_heavy') * 1000) - .fluidOutputs(fluid('heavy_oily_brine') * 100) - .fluidOutputs(fluid('desalted_oil_heavy') * 1000) - .duration(160) - .EUt(30) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('oily_brine') * 1000) - .fluidOutputs(fluid('desalted_oil') * 200) - .fluidOutputs(fluid('salt_water') * 1000) - .duration(160) - .EUt(30) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('light_oily_brine') * 1000) - .fluidOutputs(fluid('desalted_oil_light') * 200) - .fluidOutputs(fluid('salt_water') * 1000) - .duration(160) - .EUt(30) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('heavy_oily_brine') * 1000) - .fluidOutputs(fluid('desalted_oil_heavy') * 200) - .fluidOutputs(fluid('salt_water') * 1000) - .duration(160) - .EUt(30) - .buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(oils.oil.getDesalted(1000)) -.fluidOutputs(fluid('sulfuric_oil_residue') * 150) -.fluidOutputs(fractions.fuel_oil.getSulfuric(150)) -.fluidOutputs(fractions.diesel.getSulfuric(200)) -.fluidOutputs(fractions.kerosene.getSulfuric(100)) -.fluidOutputs(fractions.naphtha.getSulfuric(200)) -.fluidOutputs(fractions.gasoline.getSulfuric(100)) -.fluidOutputs(fractions.refinery_gas.getSulfuric(500)) -.duration(100) -.EUt(30) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(oils.oil_light.getDesalted(1000)) -.fluidOutputs(fluid('sulfuric_oil_residue') * 50) -.fluidOutputs(fractions.fuel_oil.getSulfuric(100)) -.fluidOutputs(fractions.diesel.getSulfuric(150)) -.fluidOutputs(fractions.kerosene.getSulfuric(100)) -.fluidOutputs(fractions.naphtha.getSulfuric(250)) -.fluidOutputs(fractions.gasoline.getSulfuric(150)) -.fluidOutputs(fractions.refinery_gas.getSulfuric(1000)) -.duration(100) -.EUt(30) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(oils.oil_heavy.getDesalted(1000)) -.fluidOutputs(fluid('sulfuric_oil_residue') * 300) -.fluidOutputs(fractions.fuel_oil.getSulfuric(200)) -.fluidOutputs(fractions.diesel.getSulfuric(150)) -.fluidOutputs(fractions.kerosene.getSulfuric(100)) -.fluidOutputs(fractions.naphtha.getSulfuric(100)) -.fluidOutputs(fractions.gasoline.getSulfuric(50)) -.fluidOutputs(fractions.refinery_gas.getSulfuric(250)) -.duration(100) -.EUt(30) -.buildAndRegister() - -fractions.each { _, fraction -> { - FBR.recipeBuilder() - .fluidInputs(fraction.getSulfuric(180)) - .fluidInputs(fluid('hydrogen') * 45) - .notConsumable(metaitem('catalystBedAlumina')) - .fluidOutputs(fraction.getTreatedSulfuric(180)) - .duration(30) - .EUt(30) - .buildAndRegister() - - DT.recipeBuilder() - .fluidInputs(fraction.getTreatedSulfuric(1000)) - .fluidOutputs(fraction.get(1000)) - .fluidOutputs(fluid('sour_gas') * 250) - .duration(100) - .EUt(30) - .buildAndRegister() - } -} - -// Sour gas Processing - -CENTRIFUGE.recipeBuilder() -.fluidInputs(fluid('sour_gas') * 3000) -.fluidInputs(fluid('ethanolamine_mix') * 1000) -.fluidOutputs(fluid('hydrogen') * 1000) -.fluidOutputs(fluid('rich_amine') * 1000) -.duration(120) -.EUt(120) -.buildAndRegister() - -CENTRIFUGE.recipeBuilder() -.fluidInputs(fluid('rich_amine') * 1000) -.fluidOutputs(fluid('hydrogen_sulfide') * 1000) -.fluidOutputs(fluid('ethanolamine_mix') * 1000) -.duration(160) -.EUt(120) -.buildAndRegister() - -REACTION_FURNACE.recipeBuilder() -.fluidInputs(fluid('hydrogen_sulfide') * 3000) -.fluidInputs(fluid('oxygen') * 3000) -.fluidOutputs(fluid('uncatalyzed_sulfurous_gases') * 3000) -.outputs(metaitem('dustSulfur')) -.duration(300) -.EUt(30) -.buildAndRegister() - -REACTION_FURNACE.recipeBuilder() -.fluidInputs(fluid('hydrogen_sulfide') * 3000) -.fluidInputs(fluid('air') * 9000) -.fluidOutputs(fluid('uncatalyzed_sulfurous_gases') * 3000) -.outputs(metaitem('dustSulfur')) -.duration(300) -.EUt(30) -.buildAndRegister() - -REACTION_FURNACE.recipeBuilder() -.notConsumable(metaitem('catalystBedAlumina')) -.fluidInputs(fluid('uncatalyzed_sulfurous_gases') * 3000) -.fluidOutputs(fluid('dense_steam') * 3000) -.outputs(metaitem('dustSulfur') * 2) -.duration(300) -.EUt(30) -.buildAndRegister() - -// Natural Gas Processing - -CENTRIFUGE.recipeBuilder() -.fluidInputs(fluid('crude_natural_gas') * 1000) -.fluidOutputs(fluid('oil') * 50) -.fluidOutputs(fluid('sulfuric_natural_gas') * 1000) -.duration(400) -.EUt(30) -.buildAndRegister() - -// Sulfuric Oil Residue Processing - - // Solvent Dewaxing - VACUUM_DT.recipeBuilder() - .fluidInputs(fluid('sulfuric_oil_residue') * 1000) - .outputs(metaitem('bituminous_residue')) - .fluidOutputs(fluid('crude_lubricating_oil') * 850) - .fluidOutputs(fractions.fuel_oil.getSulfuric(200)) - .fluidOutputs(fractions.diesel.getSulfuric(200)) - .fluidOutputs(fractions.kerosene.getSulfuric(150)) - .fluidOutputs(fractions.naphtha.getSulfuric(100)) - .duration(400) - .EUt(30) - .buildAndRegister() - -// Slack wax Processing - -CRYSTALLIZER.recipeBuilder() -.fluidInputs(fluid('slack_wax') * 1000) -.fluidOutputs(fluid('lubricating_oil') * 250) -.outputs(metaitem('paraffin_wax') * 4) -.duration(400) -.EUt(30) -.buildAndRegister() - -crafting.addShaped("treated_wood_planks_paraffin", item('gregtech:planks', 1) * 8, [ - [ore('plankWood'),ore('plankWood'),ore('plankWood')], - [ore('plankWood'),metaitem('paraffin_wax'),ore('plankWood')], - [ore('plankWood'),ore('plankWood'),ore('plankWood')] -]) - -EXTRACTOR.recipeBuilder() -.inputs(metaitem('paraffin_wax')) -.circuitMeta(1) -.fluidOutputs(fluid('lubricating_oil') * 250) -.duration(200) -.EUt(30) -.buildAndRegister() - -EXTRACTOR.recipeBuilder() -.inputs(metaitem('paraffin_wax')) -.circuitMeta(2) -.fluidOutputs(fluid('resin') * 1000) -.duration(200) -.EUt(30) -.buildAndRegister() - -// Bituminous Residue Processing - -MIXER.recipeBuilder() -.fluidInputs(fluid('oil') * 500) -.inputs(metaitem('bitumen')) -.fluidOutputs(fluid('bitumen_solution') * 1000) -.duration(200) -.EUt(Globals.voltAmps[1]) -.buildAndRegister() - -CENTRIFUGE.recipeBuilder() -.fluidInputs(fluid('bitumen_solution') * 1000) -.fluidOutputs(fluid('oil') * 650) -.outputs(metaitem('dustAsphalt') * 4) -.duration(300) -.EUt(Globals.voltAmps[0]) -.buildAndRegister() - -MIXER.recipeBuilder() - .fluidInputs(fluid('oil_light') * 500) - .inputs(metaitem('bitumen')) - .fluidOutputs(fluid('light_bitumen_solution') * 1000) - .duration(200) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('light_bitumen_solution') * 1000) - .fluidOutputs(fluid('oil_light') * 650) - .outputs(metaitem('dustAsphalt') * 4) - .duration(300) - .EUt(Globals.voltAmps[0]) - .buildAndRegister() - -MIXER.recipeBuilder() - .fluidInputs(fluid('oil_heavy') * 500) - .inputs(metaitem('bitumen')) - .fluidOutputs(fluid('heavy_bitumen_solution') * 1000) - .duration(200) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('heavy_bitumen_solution') * 1000) - .fluidOutputs(fluid('oil_heavy') * 650) - .outputs(metaitem('dustAsphalt') * 4) - .duration(300) - .EUt(Globals.voltAmps[0]) - .buildAndRegister() - -MIXER.recipeBuilder() - .inputs(ore('dustAsphalt')) - .fluidInputs(fluid('concrete') * 144) - .outputs(item('gregtech:asphalt') * 2) - .duration(30) - .EUt(16) - .buildAndRegister() - -// Bituminous Residue -> Coke - -COKING.recipeBuilder() -.fluidInputs(fluid('steam') * 1000) -.inputs(metaitem('bituminous_residue')) -.fluidOutputs(fluid('sulfuric_oil_residue') * 150) -.outputs(metaitem('dustGreenCoke') * 4) -.duration(400) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -for (fuel in sintering_fuels) { - if (!fuel.isPlasma) { - for (comburent in sintering_comburents) { - ROTARY_KILN.recipeBuilder() - .inputs(ore('dustGreenCoke')) - .outputs(metaitem('dustCoke')) - .fluidInputs(fluid(fuel.name) * fuel.amountRequired) - .fluidInputs(fluid(comburent.name) * comburent.amountRequired) - .fluidOutputs(fluid(fuel.byproduct) * fuel.byproductAmount) - .duration(fuel.duration + comburent.duration) - .EUt(120) - .buildAndRegister() - - ROTARY_KILN.recipeBuilder() - .inputs(metaitem('bituminous_residue')) - .fluidInputs(fluid(fuel.name) * fuel.amountRequired) - .fluidInputs(fluid(comburent.name) * comburent.amountRequired) - .outputs(metaitem('bitumen')) - .fluidOutputs(fluid(fuel.byproduct) * fuel.byproductAmount) - .duration(fuel.duration + comburent.duration) - .EUt(120) - .buildAndRegister() - } - } -} - -// Cracking: Ethane, Propane Butane - -ROASTER.recipeBuilder() -.fluidInputs(fluid('ethane') * 1000) -.fluidInputs(fluid('steam') * 1000) -.fluidOutputs(fluid('steamcracked_ethane') * 700) -.duration(300) -.EUt(Globals.voltAmps[1]) -.buildAndRegister() - -ROASTER.recipeBuilder() -.fluidInputs(fluid('propane') * 1000) -.fluidInputs(fluid('steam') * 1000) -.fluidOutputs(fluid('steamcracked_propane') * 700) -.duration(300) -.EUt(Globals.voltAmps[1]) -.buildAndRegister() - -ROASTER.recipeBuilder() -.fluidInputs(fluid('butane') * 1000) -.fluidInputs(fluid('steam') * 1000) -.fluidOutputs(fluid('steamcracked_butane') * 700) -.duration(300) -.EUt(Globals.voltAmps[1]) -.buildAndRegister() - -CRACKER.recipeBuilder() - .fluidInputs(fluid('ethane') * 1000) - .fluidInputs(fluid('steam') * 1000) - .fluidOutputs(fluid('steamcracked_ethane') * 1000) - .duration(80) - .EUt(Globals.voltAmps[2]) - .buildAndRegister() - -CRACKER.recipeBuilder() - .fluidInputs(fluid('propane') * 1000) - .fluidInputs(fluid('steam') * 1000) - .fluidOutputs(fluid('steamcracked_propane') * 1000) - .duration(80) - .EUt(Globals.voltAmps[2]) - .buildAndRegister() - -CRACKER.recipeBuilder() - .fluidInputs(fluid('butane') * 1000) - .fluidInputs(fluid('steam') * 1000) - .fluidOutputs(fluid('steamcracked_butane') * 1000) - .duration(80) - .EUt(Globals.voltAmps[2]) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('steamcracked_ethane') * 1000) - .fluidOutputs(fluid('butadiene') * 50) - .fluidOutputs(fluid('propene') * 50) - .fluidOutputs(fluid('ethylene') * 800) - .fluidOutputs(fluid('methane') * 50) - .fluidOutputs(fluid('hydrogen') * 50) - .duration(160) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('steamcracked_propane') * 1000) - .fluidOutputs(fluid('butadiene') * 50) - .fluidOutputs(fluid('propene') * 150) - .fluidOutputs(fluid('ethylene') * 500) - .fluidOutputs(fluid('methane') * 150) - .fluidOutputs(fluid('hydrogen') * 150) - .duration(160) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('steamcracked_butane') * 1000) - .fluidOutputs(fluid('butadiene') * 150) - .fluidOutputs(fluid('propene') * 250) - .fluidOutputs(fluid('ethylene') * 350) - .fluidOutputs(fluid('methane') * 150) - .fluidOutputs(fluid('hydrogen') * 100) - .duration(160) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('fuel_oil') * 1000) - .fluidOutputs(fluid('hexane') * 300) - .fluidOutputs(fluid('pentane') * 250) - .fluidOutputs(fluid('butane') * 200) - .fluidOutputs(fluid('propane') * 150) - .fluidOutputs(fluid('ethane') * 100) - .fluidOutputs(fluid('methane') * 100) - .duration(160) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('diesel') * 1000) - .fluidOutputs(fluid('hexane') * 150) - .fluidOutputs(fluid('pentane') * 200) - .fluidOutputs(fluid('butane') * 300) - .fluidOutputs(fluid('propane') * 200) - .fluidOutputs(fluid('ethane') * 100) - .fluidOutputs(fluid('methane') * 100) - .duration(400) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('kerosene') * 1000) - .fluidOutputs(fluid('hexane') * 100) - .fluidOutputs(fluid('pentane') * 150) - .fluidOutputs(fluid('butane') * 250) - .fluidOutputs(fluid('propane') * 250) - .fluidOutputs(fluid('ethane') * 200) - .fluidOutputs(fluid('methane') * 100) - .duration(400) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('naphtha') * 1000) - .fluidOutputs(fluid('hexane') * 100) - .fluidOutputs(fluid('pentane') * 150) - .fluidOutputs(fluid('butane') * 200) - .fluidOutputs(fluid('propane') * 300) - .fluidOutputs(fluid('ethane') * 250) - .fluidOutputs(fluid('methane') * 150) - .duration(400) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('gasoline') * 1000) - .fluidOutputs(fluid('hexane') * 100) - .fluidOutputs(fluid('pentane') * 100) - .fluidOutputs(fluid('butane') * 150) - .fluidOutputs(fluid('propane') * 200) - .fluidOutputs(fluid('ethane') * 300) - .fluidOutputs(fluid('methane') * 250) - .duration(400) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - -// Natural / Refinery -> Gasoline - -CSTR.recipeBuilder() -.fluidInputs(fluid('sulfuric_acid') * 250) -.fluidInputs(fluid('natural_gas') * 50) -.fluidOutputs(fluid('alkylated_natural_gas') * 300) -.duration(5) -.EUt(Globals.voltAmps[1]) -.buildAndRegister() - -CSTR.recipeBuilder() -.fluidInputs(fluid('sulfuric_acid') * 250) -.fluidInputs(fluid('refinery_gas') * 50) -.fluidOutputs(fluid('alkylated_refinery_gas') * 300) -.duration(5) -.EUt(Globals.voltAmps[1]) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(fluid('alkylated_natural_gas') * 3000) -.fluidOutputs(fluid('sulfuric_acid') * 2500) -.fluidOutputs(fluid('gasoline') * 500) -.duration(200) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(fluid('alkylated_refinery_gas') * 3000) -.fluidOutputs(fluid('sulfuric_acid') * 2500) -.fluidOutputs(fluid('gasoline') * 500) -.duration(200) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -// Natural Gas Distillation - -DT.recipeBuilder() -.fluidInputs(fluid('natural_gas') * 1000) -.fluidOutputs(fluid('butane') * 100) -.fluidOutputs(fluid('propane') * 100) -.fluidOutputs(fluid('ethane') * 100) -.fluidOutputs(fluid('methane') * 750) -.duration(100) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(fluid('liquid_natural_gas') * 20) -.fluidOutputs(fluid('butane') * 128) -.fluidOutputs(fluid('propane') * 128) -.fluidOutputs(fluid('ethane') * 128) -.fluidOutputs(fluid('methane') * 960) -.fluidOutputs(fluid('helium') * 25) -.duration(100) -.EUt(Globals.voltAmps[2] * 2) -.buildAndRegister() - -// Refinery Gas Distillation - -DT.recipeBuilder() -.fluidInputs(fluid('refinery_gas') * 1000) -.fluidOutputs(fluid('butane') * 100) -.fluidOutputs(fluid('propane') * 100) -.fluidOutputs(fluid('ethane') * 100) -.fluidOutputs(fluid('methane') * 750) -.duration(100) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -// Kerosene, naphtha and gasoline cracking - -// Cracking - -fractions.each { _, fraction -> { - - if (fraction instanceof OilFractionCrackable) { - - CRACKER.recipeBuilder() - .fluidInputs(fraction.get(1000)) - .fluidInputs(fluid('hydrogen') * 1000) - .fluidOutputs(fraction.getLightlyHydro(1000)) - .duration(200) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - - CRACKER.recipeBuilder() - .fluidInputs(fraction.get(1000)) - .fluidInputs(fluid('hot_hp_hydrogen') * 1000) - .fluidOutputs(fraction.getSeverelyHydro(1000)) - .duration(200) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - - CRACKER.recipeBuilder() - .fluidInputs(fraction.get(1000)) - .fluidInputs(fluid('steam') * 1000) - .fluidOutputs(fraction.getLightlySteam(1000)) - .duration(200) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - - CRACKER.recipeBuilder() - .fluidInputs(fraction.get(1000)) - .fluidInputs(fluid('hot_hp_steam') * 1000) - .fluidOutputs(fraction.getSeverelySteam(1000)) - .duration(200) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - - } - - } - -} - -EBF.recipeBuilder() -.fluidInputs(fluid('oxygen') * 1000) -.inputs(metaitem('spent_cracking_catalyst') * 4) -.fluidOutputs(fluid('flue_gas') * 1000) -.outputs(metaitem('cracking_catalyst') * 4) -.blastFurnaceTemp(1200) -.duration(100) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -// Cracked Distillation - -// Kerosene - -DT.recipeBuilder() -.fluidInputs(fractions.kerosene.getLightlyHydro(1000)) -.fluidOutputs(fluid('gasoline') * 600) -.fluidOutputs(fluid('naphtha') * 100) -.fluidOutputs(fluid('butane') * 100) -.fluidOutputs(fluid('propane') * 100) -.fluidOutputs(fluid('ethane') * 75) -.fluidOutputs(fluid('methane') * 75) -.duration(400) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(fractions.kerosene.getSeverelyHydro(1000)) -.fluidOutputs(fluid('gasoline') * 200) -.fluidOutputs(fluid('naphtha') * 250) -.fluidOutputs(fluid('butane') * 300) -.fluidOutputs(fluid('propane') * 300) -.fluidOutputs(fluid('ethane') * 175) -.fluidOutputs(fluid('methane') * 175) -.duration(400) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(fractions.kerosene.getLightlySteam(1000)) -.fluidOutputs(fluid('gasoline') * 300) -.fluidOutputs(fluid('naphtha') * 50) -.fluidOutputs(fluid('toluene') * 25) -.fluidOutputs(fluid('benzene') * 125) -.fluidOutputs(fluid('butene') * 25) -.fluidOutputs(fluid('butadiene') * 15) -.fluidOutputs(fluid('propane') * 3) -.fluidOutputs(fluid('propene') * 30) -.fluidOutputs(fluid('ethane') * 5) -.fluidOutputs(fluid('ethylene') * 50) -.fluidOutputs(fluid('methane') * 50) -.duration(400) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(fractions.kerosene.getSeverelySteam(1000)) -.fluidOutputs(fluid('gasoline') * 100) -.fluidOutputs(fluid('naphtha') * 125) -.fluidOutputs(fluid('toluene') * 80) -.fluidOutputs(fluid('benzene') * 125) -.fluidOutputs(fluid('butene') * 80) -.fluidOutputs(fluid('butadiene') * 50) -.fluidOutputs(fluid('propane') * 10) -.fluidOutputs(fluid('propene') * 100) -.fluidOutputs(fluid('ethane') * 15) -.fluidOutputs(fluid('ethylene') * 150) -.fluidOutputs(fluid('methane') * 150) -.duration(400) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -// Naphtha :concernium: - -DT.recipeBuilder() -.fluidInputs(fractions.naphtha.getLightlyHydro(1000)) -.fluidOutputs(fluid('butane') * 800) -.fluidOutputs(fluid('propane') * 300) -.fluidOutputs(fluid('ethane') * 250) -.fluidOutputs(fluid('methane') * 250) -.duration(400) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(fractions.naphtha.getSeverelyHydro(1000)) -.fluidOutputs(fluid('butane') * 125) -.fluidOutputs(fluid('propane') * 125) -.fluidOutputs(fluid('ethane') * 1500) -.fluidOutputs(fluid('methane') * 1500) -.duration(400) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(fractions.naphtha.getLightlySteam(1000)) -.fluidOutputs(fluid('kerosene') * 75) -.fluidOutputs(fluid('gasoline') * 150) -.fluidOutputs(fluid('toluene') * 40) -.fluidOutputs(fluid('benzene') * 150) -.fluidOutputs(fluid('c_five_fraction') * 150) -.fluidOutputs(fluid('butene') * 80) -.fluidOutputs(fluid('butadiene') * 150) -.fluidOutputs(fluid('propane') * 15) -.fluidOutputs(fluid('propene') * 200) -.fluidOutputs(fluid('ethane') * 35) -.fluidOutputs(fluid('ethylene') * 200) -.fluidOutputs(fluid('methane') * 200) -.duration(400) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(fractions.naphtha.getSeverelySteam(1000)) -.fluidOutputs(fluid('kerosene') * 25) -.fluidOutputs(fluid('gasoline') * 50) -.fluidOutputs(fluid('toluene') * 20) -.fluidOutputs(fluid('benzene') * 100) -.fluidOutputs(fluid('c_five_fraction') * 350) -.fluidOutputs(fluid('butene') * 50) -.fluidOutputs(fluid('butadiene') * 50) -.fluidOutputs(fluid('propane') * 15) -.fluidOutputs(fluid('propene') * 300) -.fluidOutputs(fluid('ethane') * 65) -.fluidOutputs(fluid('ethylene') * 500) -.fluidOutputs(fluid('methane') * 500) -.duration(400) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -// Gasoline - -DT.recipeBuilder() -.fluidInputs(fractions.gasoline.getLightlyHydro(1000)) -.fluidOutputs(fluid('naphtha') * 800) -.fluidOutputs(fluid('butane') * 150) -.fluidOutputs(fluid('propane') * 200) -.fluidOutputs(fluid('ethane') * 125) -.fluidOutputs(fluid('methane') * 125) -.duration(400) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(fractions.gasoline.getSeverelyHydro(1000)) -.fluidOutputs(fluid('naphtha') * 200) -.fluidOutputs(fluid('butane') * 125) -.fluidOutputs(fluid('propane') * 125) -.fluidOutputs(fluid('ethane') * 1500) -.fluidOutputs(fluid('methane') * 1500) -.duration(400) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(fractions.gasoline.getLightlySteam(1000)) -.fluidOutputs(fluid('kerosene') * 150) -.fluidOutputs(fluid('naphtha') * 400) -.fluidOutputs(fluid('toluene') * 40) -.fluidOutputs(fluid('benzene') * 200) -.fluidOutputs(fluid('butene') * 75) -.fluidOutputs(fluid('butadiene') * 60) -.fluidOutputs(fluid('propane') * 20) -.fluidOutputs(fluid('propene') * 150) -.fluidOutputs(fluid('ethane') * 10) -.fluidOutputs(fluid('ethylene') * 50) -.fluidOutputs(fluid('methane') * 50) -.duration(400) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(fractions.gasoline.getSeverelySteam(1000)) -.fluidOutputs(fluid('kerosene') * 50) -.fluidOutputs(fluid('naphtha') * 100) -.fluidOutputs(fluid('toluene') * 30) -.fluidOutputs(fluid('benzene') * 150) -.fluidOutputs(fluid('butene') * 65) -.fluidOutputs(fluid('butadiene') * 50) -.fluidOutputs(fluid('propane') * 50) -.fluidOutputs(fluid('propene') * 250) -.fluidOutputs(fluid('ethane') * 50) -.fluidOutputs(fluid('ethylene') * 250) -.fluidOutputs(fluid('methane') * 250) -.duration(400) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -fractions.each { _, fraction -> { - if (fraction.isUpgradable) { - CRACKER.recipeBuilder() - .fluidInputs(fraction.get(1000)) - .inputs(metaitem('cracking_catalyst')) - .fluidOutputs(fraction.getUpgradedMix(1000)) - .duration(200) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - - CENTRIFUGE.recipeBuilder() - .fluidInputs(fraction.getUpgradedMix(1000)) - .fluidOutputs(fraction.getUpgraded(1000)) - .outputs(metaitem('spent_cracking_catalyst')) - .duration(160) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() - } - } -} - -CRACKER.recipeBuilder() - .fluidInputs(fluid('lubricating_oil') * 1000) - .inputs(metaitem('cracking_catalyst')) - .fluidOutputs(fluid('upgraded_lubricating_oil_mix') * 1000) - .duration(200) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('upgraded_lubricating_oil_mix') * 1000) - .fluidOutputs(fluid('sulfuric_fuel_oil') * 1000) - .outputs(metaitem('spent_cracking_catalyst')) - .duration(160) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() - -// BTEX - -REFORMER.recipeBuilder() -.fluidInputs(fluid('naphtha') * 1000) -.fluidInputs(fluid('hydrogen') * 1000) -.notConsumable(ore('catalystBedPlatinum')) -.fluidOutputs(fluid('naphtha_reformate') * 1000) -.duration(25) -.EUt(Globals.voltAmps[3]) -.buildAndRegister() - -CENTRIFUGE.recipeBuilder() -.fluidInputs(fluid('naphtha_reformate') * 1000) -.fluidInputs(fluid('furfural') * 100) -.fluidOutputs(fluid('btex_extract') * 1000) -.duration(100) -.EUt(Globals.voltAmps[1]) -.buildAndRegister() - -CENTRIFUGE.recipeBuilder() -.fluidInputs(fluid('btex_extract') * 1000) -.fluidInputs(fluid('steam') * 1000) -.fluidOutputs(fluid('furfural') * 100) -.fluidOutputs(fluid('btex') * 1000) -.duration(100) -.EUt(Globals.voltAmps[1]) -.buildAndRegister() - -DT.recipeBuilder() -.fluidInputs(fluid('btex') * 1000) -.fluidOutputs(fluid('xylene') * 400) -.fluidOutputs(fluid('ethylbenzene') * 50) -.fluidOutputs(fluid('toluene') * 400) -.fluidOutputs(fluid('benzene') * 150) -.duration(100) -.EUt(Globals.voltAmps[1]) -.buildAndRegister() - -// XYLENE SEPARATION -DT.recipeBuilder() -.fluidInputs(fluid('xylene') * 1000) -.fluidOutputs(fluid('ortho_xylene') * 200) -.fluidOutputs(fluid('meta_para_xylene_mixture') * 800) -.duration(100) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -CRYSTALLIZER.recipeBuilder() -.fluidInputs(fluid('meta_para_xylene_mixture') * 4000) -.outputs(metaitem('dustParaXylene')) -.fluidOutputs(fluid('meta_xylene') * 3000) -.duration(100) -.EUt(Globals.voltAmps[1]) -.buildAndRegister() - -EXTRACTOR.recipeBuilder() -.inputs(ore('dustParaXylene')) -.fluidOutputs(fluid('para_xylene') * 1000) -.duration(5) -.EUt(30) -.buildAndRegister() - -BR.recipeBuilder() -.inputs(ore('dustDicobaltOctacarbonyl') * 18) -.fluidInputs(fluid('hydrogen') * 2000) -.fluidInputs(fluid('carbon_monoxide') * 1000) -.fluidInputs(fluid('ethylene') * 1000) -.fluidOutputs(fluid('propanal_mixture') * 1000) -.EUt(Globals.voltAmps[3]) -.duration(80) -.buildAndRegister() - -DISTILLERY.recipeBuilder() -.fluidInputs(fluid('propanal_mixture') * 1000) -.outputs(metaitem('dustDicobaltOctacarbonyl') * 18) -.fluidOutputs(fluid('propionaldehyde') * 800) -.EUt(Globals.voltAmps[3]) -.duration(80) -.buildAndRegister() - -FBR.recipeBuilder() -.fluidInputs(fluid('propionaldehyde') * 50) -.fluidInputs(fluid('hydrogen') * 100) -.notConsumable(metaitem('catalystBedPlatinum')) -.fluidOutputs(fluid('n_propanol') * 50) -.EUt(Globals.voltAmps[3]) -.duration(4) -.buildAndRegister() - -FBR.recipeBuilder() -.notConsumable(metaitem('catalystBedAlumina')) -.fluidInputs(fluid('ammonia') * 50) -.fluidInputs(fluid('n_propanol') * 150) -.fluidOutputs(fluid('tripropylamine') * 50) -.fluidOutputs(fluid('water') * 150) -.duration(5) -.EUt(120) -.buildAndRegister(); - -BR.recipeBuilder() -.notConsumable(metaitem('emitter.lv')) -.notConsumable(fluid('hydrogen_peroxide_solution') * 50) -.fluidInputs(fluid('hydrobromic_acid') * 1000) -.fluidInputs(fluid('propene') * 1000) -.fluidOutputs(fluid('n_bromopropane') * 1000) -.fluidOutputs(fluid('water') * 1000) -.duration(5) -.EUt(120) -.buildAndRegister(); - -BR.recipeBuilder() -.fluidInputs(fluid('n_bromopropane') * 1000) -.fluidInputs(fluid('tripropylamine') * 1000) -.outputs(metaitem('dustTetrapropylammoniumBromide')) -.duration(5) -.EUt(120) -.buildAndRegister(); - -LCR.recipeBuilder() -.inputs(ore('dustSiliconDioxide') * 6) -.inputs(ore('dustAluminiumSulfate') * 51) -.inputs(ore('dustSodiumHydroxide')) -.inputs(ore('dustTinyTetrapropylammoniumBromide')) -.fluidInputs(fluid('ethanol') * 100) -.fluidInputs(fluid('demineralized_water') * 1800) -.outputs(metaitem('dustZsmFive')) -.duration(500) -.EUt(480) -.buildAndRegister(); - -REFORMER.recipeBuilder() -.notConsumable(metaitem('catalystBedZsmFive')) -.fluidInputs(fluid('meta_xylene') * 1000) -.fluidOutputs(fluid('para_xylene') * 1000) -.duration(60) -.EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -// Steam-cracked naphtha C5-fraction separation - - // Dimerization of CPD - - FLUID_HEATER.recipeBuilder() - .fluidInputs(fluid('c_five_fraction') * 1000) - .fluidOutputs(fluid('dimerized_c_five_fraction') * 875) - .duration(60) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() - - DT.recipeBuilder() - .fluidInputs(fluid('dimerized_c_five_fraction') * 875) - .fluidOutputs(fluid('dicyclopentadiene') * 125) - .fluidOutputs(fluid('pentane') * 375) - .fluidOutputs(fluid('isoprene') * 375) - .duration(60) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() - - FLUID_HEATER.recipeBuilder() - .fluidInputs(fluid('dicyclopentadiene') * 1000) - .fluidOutputs(fluid('cyclopentadiene') * 2000) - .duration(60) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Petrochemicals.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Petrochemicals.groovy new file mode 100644 index 000000000..53828ae92 --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Petrochemicals.groovy @@ -0,0 +1,124 @@ +import globals.Globals + +DT = recipemap('distillation_tower') +SIEVE_DT = recipemap('sieve_distillation') +CRYSTALLIZER = recipemap('crystallizer') +EXTRACTOR = recipemap('extractor') +REFORMER = recipemap('catalytic_reformer_recipes') +FLUID_HEATER = recipemap('fluid_heater') + +// Aromatics + SIEVE_DT.recipeBuilder() + .fluidInputs(fluid('reformate') * 1000) + .fluidInputs(fluid('furfural') * 100) + .fluidOutputs(fluid('btex_extract') * 800) + .fluidOutputs(fluid('reformate_raffinate') * 300) + .duration(25) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + SIEVE_DT.recipeBuilder() + .fluidInputs(fluid('btex_extract') * 1000) + .fluidInputs(fluid('dense_steam') * 100) + .fluidOutputs(fluid('furfural_solution') * 200) + .fluidOutputs(fluid('btex') * 1000) + .duration(25) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('furfural_solution') * 200) + .fluidOutputs(fluid('furfural') * 100) + .fluidOutputs(fluid('water') * 100) + .duration(25) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('btex') * 1000) + .fluidOutputs(fluid('xylene') * 400) + .fluidOutputs(fluid('ethylbenzene') * 50) + .fluidOutputs(fluid('toluene') * 400) + .fluidOutputs(fluid('benzene') * 150) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + // Xylenes + DT.recipeBuilder() + .fluidInputs(fluid('xylene') * 1000) + .fluidOutputs(fluid('ortho_xylene') * 200) + .fluidOutputs(fluid('meta_para_xylene_mixture') * 800) + .duration(100) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() + + CRYSTALLIZER.recipeBuilder() + .fluidInputs(fluid('meta_para_xylene_mixture') * 4000) + .outputs(metaitem('dustParaXylene')) + .fluidOutputs(fluid('meta_xylene') * 3000) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + EXTRACTOR.recipeBuilder() + .inputs(ore('dustParaXylene')) + .fluidOutputs(fluid('para_xylene') * 1000) + .duration(5) + .EUt(30) + .buildAndRegister() + + REFORMER.recipeBuilder() + .notConsumable(metaitem('catalystBedZsmFive')) + .fluidInputs(fluid('meta_xylene') * 1000) + .fluidOutputs(fluid('para_xylene') * 1000) + .duration(60) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() + + // Pyrolysis gasoline separation + + SIEVE_DT.recipeBuilder() + .fluidInputs(fluid('pyrolysis_gasoline') * 1000) + .fluidInputs(fluid('furfural') * 50) + .fluidOutputs(fluid('btex_extract') * 400) + .fluidOutputs(fluid('pyrolysis_raffinate') * 400) + .fluidOutputs(fluid('c_five_fraction') * 200) + .duration(60) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + // Dimerization of CPD + + FLUID_HEATER.recipeBuilder() + .fluidInputs(fluid('c_five_fraction') * 1000) + .fluidOutputs(fluid('dimerized_c_five_fraction') * 870) + .duration(60) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('dimerized_c_five_fraction') * 870) + .fluidOutputs(fluid('dicyclopentadiene') * 130) + .fluidOutputs(fluid('pentane') * 380) + .fluidOutputs(fluid('isoprene') * 360) + .duration(60) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + FLUID_HEATER.recipeBuilder() + .fluidInputs(fluid('dicyclopentadiene') * 1000) + .fluidOutputs(fluid('cyclopentadiene') * 2000) + .duration(60) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +// Butenes separation +DT.recipeBuilder() + .fluidInputs(fluid('butene') * 1000) + .fluidOutputs(fluid('isobutylene') * 500) + .fluidOutputs(fluid('one_butene') * 300) + .fluidOutputs(fluid('two_butene') * 200) + .duration(300) + .EUt(30) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/AtmosphericDistillation.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/AtmosphericDistillation.groovy new file mode 100644 index 000000000..f989a4962 --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/AtmosphericDistillation.groovy @@ -0,0 +1,91 @@ +import static globals.Petrochemistry.* + +DT = recipemap('sieve_distillation') +PHASE_SEPARATOR = recipemap('phase_separator') + +// Atmospheric distillation + +DT.recipeBuilder() + .fluidInputs(fluid('dense_steam') * 10000) + .fluidInputs(oils.oil.getHeated(10000)) + .fluidOutputs(fluid('atmospheric_oil_residue') * 2000) + .fluidOutputs(fractions.heavy_gas_oil.getCrude(500)) + .fluidOutputs(fractions.light_gas_oil.getCrude(1250)) + .fluidOutputs(fractions.kerosene.getCrude(1250)) + .fluidOutputs(fluid('atmospheric_overheads') * 5000) + .duration(200) + .EUt(30) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('dense_steam') * 10000) + .fluidInputs(oils.oil_heavy.getHeated(10000)) + .fluidOutputs(fluid('atmospheric_oil_residue') * 3500) + .fluidOutputs(fractions.heavy_gas_oil.getCrude(1250)) + .fluidOutputs(fractions.light_gas_oil.getCrude(1250)) + .fluidOutputs(fractions.kerosene.getCrude(500)) + .fluidOutputs(fluid('heavy_atmospheric_overheads') * 3500) + .duration(200) + .EUt(30) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('dense_steam') * 10000) + .fluidInputs(oils.oil_light.getHeated(10000)) + .fluidOutputs(fluid('atmospheric_oil_residue') * 1000) + .fluidOutputs(fractions.heavy_gas_oil.getCrude(250)) + .fluidOutputs(fractions.light_gas_oil.getCrude(1000)) + .fluidOutputs(fractions.kerosene.getCrude(1750)) + .fluidOutputs(fluid('light_atmospheric_overheads') * 6000) + .duration(200) + .EUt(30) + .buildAndRegister() + +// Stripping of contaminants using steam + +fractions.each { _, fraction -> + if (fraction.strippable) { + DT.recipeBuilder() + .fluidInputs(fraction.getCrude(1000)) + .fluidInputs(fluid('dense_steam') * 1000) + .fluidOutputs(fraction.getSulfuric(1000)) + .fluidOutputs(fluid('sour_water') * 1000) + .duration(20) + .EUt(30) + .buildAndRegister() + } +} + +// Overheads processing + +PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('atmospheric_overheads') * 5000) + .fluidOutputs(fractions.naphtha.getCrude(5000)) + .fluidOutputs(fluid('sour_water') * 10000) + .duration(400) + .buildAndRegister() + +PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('heavy_atmospheric_overheads') * 3500) + .fluidOutputs(fractions.naphtha.getCrude(3500)) + .fluidOutputs(fluid('sour_water') * 10000) + .duration(400) + .buildAndRegister() + +PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('light_atmospheric_overheads') * 6000) + .fluidOutputs(fractions.naphtha.getCrude(6000)) + .fluidOutputs(fluid('sour_water') * 10000) + .duration(400) + .buildAndRegister() + +// Sour water stripping + +BCR.recipeBuilder() + .fluidInputs(fluid('sour_water') * 10000) + .fluidInputs(fluid('dense_steam') * 1000) + .fluidOutputs(fluid('hydrogen_sulfide') * 200) + .fluidOutputs(fluid('wastewater') * 11000) + .duration(100) + .EUt(7) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/FluidCatalyticCracking.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/FluidCatalyticCracking.groovy new file mode 100644 index 000000000..fc62bf5b2 --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/FluidCatalyticCracking.groovy @@ -0,0 +1,82 @@ +import globals.Globals +import static globals.Petrochemistry.* + +BCR = recipemap("bubble_column_reactor") +CRACKER = recipemap("cracker") +ROASTER = recipemap("roaster") +DT = recipemap("sieve_distillation") +ELECTROSTATIC_SEPARATOR = recipemap('electrostatic_separator') + +/* Data: +- Slurry oil: 40 carbons +- Catalytic overheads: 1.825 carbons +*/ + +// Standard FCC + +crackables.each { _, crackable -> + if (crackable.catalytic_crackable) { + CRACKER.recipeBuilder() + .fluidInputs(crackable.get(4000)) + .inputs(metaitem('cracking_catalyst')) + .fluidOutputs(crackable.getCrudeCatalyticallyCracked(4000)) + .duration(200) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(crackable.getCrudeCatalyticallyCracked(4000)) + .fluidInputs(fluid('dense_steam') * 400) + .fluidOutputs(crackable.getCatalyticallyCracked(4000)) + .chancedOutput(metaitem('spent_cracking_catalyst'), 9000, 0) + .duration(200) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + } +} + +ROASTER.recipeBuilder() + .fluidInputs(fluid('oxygen') * 1000) + .inputs(metaitem('spent_cracking_catalyst')) + .fluidOutputs(fluid('flue_gas') * 1000) + .outputs(metaitem('cracking_catalyst')) + .duration(200) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('catalytically_cracked_heavy_gas_oil') * 1000) + .fluidOutputs(fractions.light_cycle_oil.get(355)) + .fluidOutputs(fractions.naphtha.get(2015)) + .fluidOutputs(fluid('catalytic_overheads') * 1580) + .duration(50) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('catalytically_cracked_atmospheric_oil_residue') * 1000) + .fluidOutputs(fluid('slurry_oil') * 500) + .fluidOutputs(fractions.light_cycle_oil.getSulfuric(575)) + .fluidOutputs(fractions.naphtha.getCrude(1690)) + .fluidOutputs(fluid('sulfuric_catalytic_overheads') * 1180) + .duration(50) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('catalytically_cracked_vacuum_oil_residue') * 1000) + .fluidOutputs(fluid('slurry_oil') * 680) + .fluidOutputs(fractions.light_cycle_oil.getSulfuric(680)) + .fluidOutputs(fractions.naphtha.getCrude(1195)) + .fluidOutputs(fluid('sulfuric_catalytic_overheads') * 1092) + .duration(50) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() + +ELECTROSTATIC_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('slurry_oil') * 1000) + .fluidOutputs(fluid('clarified_slurry_oil') * 1000) + .chancedOutput(metaitem('spent_cracking_catalyst'), 1000, 0) + .duration(200) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/GasolineComponents.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/GasolineComponents.groovy new file mode 100644 index 000000000..59ffd13b8 --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/GasolineComponents.groovy @@ -0,0 +1,137 @@ +import globals.Globals + +REACTION_FURNACE = recipemap('reaction_furnace') +FBR = recipemap('fixed_bed_reactor') +REFORMER = recipemap('catalytic_reformer_recipes') +PHASE_SEPARATOR = recipemap('phase_separator') + +// Isomerization + FBR.recipeBuilder() + .notConsumable(ore('catalystBedChloridedAlumina')) + .fluidInputs(fluid('light_naphtha') * 1000) + .fluidInputs(fluid('hydrogen') * 200) + .fluidOutputs(fluid('raw_isomerate') * 1000) + .fluidOutputs(fluid('hydrogen') * 160) + .circuitMeta(1) + .duration(800) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + FBR.recipeBuilder() + .notConsumable(ore('catalystBedSulfatedMetalOxide')) + .fluidInputs(fluid('light_naphtha') * 1000) + .fluidInputs(fluid('hydrogen') * 200) + .fluidOutputs(fluid('raw_isomerate') * 1000) + .fluidOutputs(fluid('hydrogen') * 160) + .circuitMeta(1) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + FBR.recipeBuilder() + .notConsumable(ore('catalystBedChloridedAlumina')) + .fluidInputs(fluid('light_naphtha') * 4000) + .fluidInputs(fluid('isohexane_rich_stream') * 8000) + .fluidInputs(fluid('hydrogen') * 800) + .fluidOutputs(fluid('raw_isomerate') * 12000) + .fluidOutputs(fluid('hydrogen') * 640) + .circuitMeta(2) + .duration(800) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + FBR.recipeBuilder() + .notConsumable(ore('catalystBedSulfatedMetalOxide')) + .fluidInputs(fluid('light_naphtha') * 4000) + .fluidInputs(fluid('isohexane_rich_stream') * 8000) + .fluidInputs(fluid('hydrogen') * 800) + .fluidOutputs(fluid('raw_isomerate') * 12000) + .fluidOutputs(fluid('hydrogen') * 640) + .circuitMeta(2) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('raw_isomerate') * 12000) + .fluidOutputs(fluid('isomerate') * 4000) + .fluidOutputs(fluid('isohexane_rich_stream') * 8000) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + +// Alkylation + CSTR.recipeBuilder() + .fluidInputs(fluid('hydrofluoric_acid') * 50) + .fluidInputs(fluid('isobutane') * 1000) + .fluidInputs(fluid('catalytic_olefin_rich_mixture') * 100) + .fluidOutputs(fluid('acidic_alkylate_mixture') * 1150) + .duration(10) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('acidic_alkylate_mixture') * 1150) + .fluidOutputs(fluid('hydrofluoric_acid') * 45) + .fluidOutputs(fluid('alkylate_mixture') * 1105) + .duration(5) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('alkylate_mixture') * 11050) + .fluidOutputs(fluid('alkylate') * 1000) + .fluidOutputs(fluid('butane') * 900) + .fluidOutputs(fluid('crude_isobutane') * 9150) + .duration(100) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('crude_isobutane') * 9150) + .fluidOutputs(fluid('isobutane') * 9000) + .fluidOutputs(fluid('hydrofluoric_acid') * 50) + .fluidOutputs(fluid('propane') * 100) + .duration(100) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + +// Polymerization + FBR.recipeBuilder() + .notConsumable(ore('catalystBedSolidPhosphoricAcid')) + .fluidInputs(fluid('catalytic_olefin_rich_mixture') * 1000) + .fluidOutputs(fluid('raw_gasoline_polymerate') * 500) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('raw_gasoline_polymerate') * 500) + .fluidOutputs(fluid('polymerate') * 250) + .fluidOutputs(fluid('fuel_gas') * 250) + .duration(50) + .buildAndRegister() + +// Reforming + REFORMER.recipeBuilder() + .fluidInputs(fluid('heavy_naphtha') * 1000) + .fluidInputs(fluid('hydrogen') * 5000) + .notConsumable(ore('catalystBedSupportedPlatinum')) + .fluidOutputs(fluid('naphtha_reformate') * 9000) + .duration(25) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + + PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('naphtha_reformate') * 9000) + .fluidOutputs(fluid('reforming_liquids') * 1000) + .fluidOutputs(fluid('hydrogen') * 8000) + .duration(25) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('reforming_liquids') * 1000) + .fluidOutputs(fluid('reformate') * 600) + .fluidOutputs(fluid('fuel_gas') * 200) + .duration(400) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/Hydrocracking.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/Hydrocracking.groovy new file mode 100644 index 000000000..063941280 --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/Hydrocracking.groovy @@ -0,0 +1,70 @@ +import globals.Globals +import static globals.Petrochemistry.* + +CRACKER = recipemap('cracker') +DT = recipemap('sieve_distillation') + +crackables.each { _, crackable -> + if (crackable.hydro_crackable) { + CRACKER.recipeBuilder() + .notConsumable(metaitem('hydrocracking_catalyst')) + .fluidInputs(crackable.get(4000)) + .fluidInputs(fluid('hot_hp_hydrogen') * (4 * crackable.hydrogen_consumed)) + .fluidOutputs(crackable.getHydro(4000)) + .fluidOutputs(fluid('fuel_gas') * (4 * crackable.gas_produced)) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + } +} + +DT.recipeBuilder() + .fluidInputs(fluid('hydrocracked_light_gas_oil') * 1000) + .fluidOutputs(fluid('light_gas_oil') * 535) + .fluidOutputs(fluid('naphtha') * 1780) + .fluidOutputs(fluid('fuel_gas') * 1790) + .duration(50) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('hydrocracked_light_cycle_oil') * 1000) + .fluidInputs(fluid('furfural') * 40) + .fluidOutputs(fluid('naphtha') * 450) + .fluidOutputs(fluid('btex_extract') * 320) + .fluidOutputs(fluid('fuel_gas') * 1270) + .duration(50) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('hydrocracked_heavy_gas_oil') * 1000) + .fluidOutputs(fluid('heavy_gas_oil') * 200) + .fluidOutputs(fluid('light_gas_oil') * 500) + .fluidOutputs(fluid('naphtha') * 710) + .fluidOutputs(fluid('fuel_gas') * 1020) + .duration(50) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('hydrocracked_atmospheric_oil_residue') * 1000) + .fluidOutputs(fluid('atmospheric_oil_residue') * 300) + .fluidOutputs(fluid('heavy_gas_oil') * 660) + .fluidOutputs(fluid('light_gas_oil') * 920) + .fluidOutputs(fluid('naphtha') * 490) + .fluidOutputs(fluid('fuel_gas') * 550) + .duration(50) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('hydrocracked_vacuum_oil_residue') * 1000) + .fluidOutputs(fluid('vacuum_oil_residue') * 270) + .fluidOutputs(fluid('heavy_gas_oil') * 690) + .fluidOutputs(fluid('light_gas_oil') * 900) + .fluidOutputs(fluid('naphtha') * 455) + .fluidOutputs(fluid('fuel_gas') * 610) + .duration(50) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/Hydrotreating.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/Hydrotreating.groovy new file mode 100644 index 000000000..82799d27e --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/Hydrotreating.groovy @@ -0,0 +1,64 @@ +import static globals.Petrochemistry.* + +DT = recipemap("sieve_distillation") +FLUID_HEATER = recipemap("fluid_heater") +FBR = recipemap("fixed_bed_reactor") +BCR = recipemap("bubble_column_reactor") + +fractions.each { _, fraction -> + if (fraction.sulfuric) { + FLUID_HEATER.recipeBuilder() + .fluidInputs(fraction.getSulfuric(1000)) + .fluidOutputs(fraction.getHeated(1000)) + .duration(40) + .EUt(30) + .buildAndRegister() + + FBR.recipeBuilder() + .fluidInputs(fraction.getHeated(1000)) + .fluidInputs(fluid('hydrogen') * 100) + .notConsumable(metaitem('catalystBedHydrotreatingCatalyst')) + .fluidOutputs(fraction.getTreatedSulfuric(1000)) + .duration(15) + .EUt(30) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fraction.getTreatedSulfuric(1000)) + .fluidOutputs(fraction.get(1000)) + .fluidOutputs(fluid('sour_gas') * 100) + .duration(50) + .EUt(30) + .buildAndRegister() + } +} + +// Sour gas processing + +BCR.recipeBuilder() + .fluidInputs(fluid('sour_gas') * 2000) + .fluidInputs(fluid('ethanolamine_mix') * 1000) + .fluidOutputs(fluid('hydrogen') * 1000) + .fluidOutputs(fluid('rich_amine') * 1000) + .duration(40) + .EUt(120) + .buildAndRegister() + +BCR.recipeBuilder() + .fluidInputs(fluid('rich_amine') * 1000) + .fluidOutputs(fluid('hydrogen_sulfide') * 500) + .fluidOutputs(fluid('ethanolamine_mix') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + +// Sulfuric overheads + +BCR.recipeBuilder() + .fluidInputs(fluid('sulfuric_catalytic_overheads') * 4000) + .fluidInputs(fluid('ethanolamine_mix') * 1000) + .fluidOutputs(fluid('catalytic_overheads') * 4000) + .fluidOutputs(fluid('rich_amine') * 1000) + .duration(40) + .EUt(120) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/LighterEnds.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/LighterEnds.groovy new file mode 100644 index 000000000..e6bb9e20a --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/LighterEnds.groovy @@ -0,0 +1,154 @@ +import static globals.Petrochemistry.* + +DT = recipemap('sieve_distillation') +BCR = recipemap('bubble_column_reactor') +SINGLE_COLUMN_CRYOGENIC_DISTILLATION_PLANT = recipemap('single_column_cryogenic_distillation') + +// Debutanization + +DT.recipeBuilder() + .fluidInputs(fractions.naphtha.getCrude(10000)) + .fluidOutputs(fluid('sulfuric_debutanized_naphtha') * 8000) + .fluidOutputs(fluid('sulfuric_fuel_gas') * 2000) + .duration(400) + .EUt(30) + .buildAndRegister() + +// Naphtha hydrotreatment/splitting + +DT.recipeBuilder() + .fluidInputs(fluid('sulfuric_debutanized_naphtha') * 10000) + .fluidOutputs(fluid('sulfuric_heavy_naphtha') * 5000) + .fluidOutputs(fluid('sulfuric_light_naphtha') * 5000) + .duration(400) + .EUt(30) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('naphtha') * 10000) + .fluidOutputs(fluid('heavy_naphtha') * 5000) + .fluidOutputs(fluid('light_naphtha') * 5000) + .duration(400) + .EUt(30) + .buildAndRegister() + +// Depropanization + +DT.recipeBuilder() + .fluidInputs(fluid('sulfuric_fuel_gas') * 1000) + .fluidOutputs(fluid('sulfuric_butane_fuel_gas') * 600) + .fluidOutputs(fluid('sulfuric_propane_fuel_gas') * 400) + .duration(40) + .EUt(30) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('fuel_gas') * 1000) + .fluidOutputs(fluid('butane_fuel_gas') * 600) + .fluidOutputs(fluid('propane_fuel_gas') * 400) + .duration(40) + .EUt(30) + .buildAndRegister() + +// Deethanization + +DT.recipeBuilder() + .fluidInputs(fluid('propane_fuel_gas') * 1000) + .fluidOutputs(fluid('propane') * 900) + .fluidOutputs(fluid('ethane') * 100) + .duration(40) + .EUt(30) + .buildAndRegister() + +// Amine desulfuization + +BCR.recipeBuilder() + .fluidInputs(fluid('sulfuric_butane_fuel_gas') * 3000) + .fluidInputs(fluid('ethanolamine_mix') * 1000) + .fluidOutputs(fluid('butane_fuel_gas') * 3000) + .fluidOutputs(fluid('rich_amine') * 1000) + .duration(40) + .EUt(120) + .buildAndRegister() + +BCR.recipeBuilder() + .fluidInputs(fluid('sulfuric_propane_fuel_gas') * 3000) + .fluidInputs(fluid('ethanolamine_mix') * 1000) + .fluidOutputs(fluid('propane_fuel_gas') * 3000) + .fluidOutputs(fluid('rich_amine') * 1000) + .duration(40) + .EUt(120) + .buildAndRegister() + +BCR.recipeBuilder() + .fluidInputs(fluid('sulfuric_fuel_gas') * 3000) + .fluidInputs(fluid('ethanolamine_mix') * 1000) + .fluidOutputs(fluid('fuel_gas') * 3000) + .fluidOutputs(fluid('rich_amine') * 1000) + .duration(40) + .EUt(120) + .buildAndRegister() + +// iC4-nC4 separation + +DT.recipeBuilder() + .fluidInputs(fluid('butane_fuel_gas') * 1000) + .fluidOutputs(fluid('butane') * 800) + .fluidOutputs(fluid('isobutane') * 200) + .duration(40) + .EUt(30) + .buildAndRegister() + +// FCC light ends treatment + +DT.recipeBuilder() // Mwt: 24.533 + .fluidInputs(fluid('catalytic_overheads') * 1000) + .fluidOutputs(fluid('catalytic_olefin_rich_mixture') * 830) + .fluidOutputs(fluid('hydrogen') * 170) + .duration(100) + .EUt(30) + .buildAndRegister() + +DT.recipeBuilder() // Mwt: 29.145 + .fluidInputs(fluid('catalytic_olefin_rich_mixture') * 830) + .fluidOutputs(fluid('catalytic_c_four_fraction') * 30) + .fluidOutputs(fluid('catalytic_c_three_fraction') * 70) + .fluidOutputs(fluid('catalytic_light_gases') * 730) + .duration(100) + .EUt(30) + .buildAndRegister() + +SINGLE_COLUMN_CRYOGENIC_DISTILLATION_PLANT.recipeBuilder() // Mwt: 21.8698 + .fluidInputs(fluid('catalytic_light_gases') * 1000) + .fluidOutputs(fluid('ethane') * 270) + .fluidOutputs(fluid('ethylene') * 170) + .fluidOutputs(fluid('methane') * 560) + .duration(100) + .EUt(30) + .buildAndRegister() + +DT.recipeBuilder() // Mwt: 42.585 + .fluidInputs(fluid('catalytic_c_three_fraction') * 1000) + .fluidOutputs(fluid('propane') * 250) + .fluidOutputs(fluid('propene') * 750) + .duration(100) + .EUt(30) + .buildAndRegister() + +DT.recipeBuilder() // Mwt: 57.114 + .fluidInputs(fluid('catalytic_c_four_fraction') * 1000) + .fluidOutputs(fluid('butane') * 150) + .fluidOutputs(fluid('catalytic_butene_mixture') * 500) + .fluidOutputs(fluid('isobutane') * 350) + .duration(100) + .EUt(30) + .buildAndRegister() + +DT.recipeBuilder() // Mwt: 56.108 + .fluidInputs(fluid('catalytic_butene_mixture') * 1000) + .fluidOutputs(fluid('two_butene') * 450) + .fluidOutputs(fluid('one_butene') * 250) + .fluidOutputs(fluid('isobutylene') * 300) + .duration(100) + .EUt(30) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/Preprocessing.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/Preprocessing.groovy new file mode 100644 index 000000000..0d28bb0f6 --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/Preprocessing.groovy @@ -0,0 +1,42 @@ +import static globals.Petrochemistry.* + +MIXER = recipemap('mixer') +ELECTROSTATIC_SEPARATOR = recipemap('electrostatic_separator') +CENTRIFUGE = recipemap('centrifuge') +FLUID_HEATER = recipemap('fluid_heater') + +oils.each { _, oil -> { + // Desalting + MIXER.recipeBuilder() + .fluidInputs(oil.get(1000)) + .fluidInputs(fluid('water') * 100) + .fluidOutputs(oil.getDiluted(1100)) + .duration(20) + .EUt(30) + .buildAndRegister() + + ELECTROSTATIC_SEPARATOR.recipeBuilder() + .fluidInputs(oil.getDiluted(1100)) + .fluidOutputs(oil.getBrine(100)) + .fluidOutputs(oil.getDesalted(980)) + .duration(20) + .EUt(30) + .buildAndRegister() + + CENTRIFUGE.recipeBuilder() + .fluidInputs(oil.getBrine(1000)) + .fluidOutputs(oil.getDesalted(200)) + .fluidOutputs(fluid('salt_water') * 1000) + .duration(20) + .EUt(30) + .buildAndRegister() + + // Preheating + FLUID_HEATER.recipeBuilder() + .fluidInputs(oil.getDesalted(1000)) + .fluidOutputs(oil.getHeated(1000)) + .duration(20) + .EUt(30) + .buildAndRegister() + } +} \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/ResidueProcessing.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/ResidueProcessing.groovy new file mode 100644 index 000000000..6906fea1e --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/ResidueProcessing.groovy @@ -0,0 +1,115 @@ +import globals.Globals +import static globals.Petrochemistry.* + +VACUUM_DT = recipemap('vacuum_distillation') +CRYSTALLIZER = recipemap('crystallizer') +EXTRACTOR = recipemap('extractor') +MIXER = recipemap('mixer') +PHASE_SEPARATOR = recipemap('phase_separator') +ROTARY_KILN = recipemap('rotary_kiln') + +// Atmospheric residue processing + +VACUUM_DT.recipeBuilder() + .fluidInputs(fluid('atmospheric_oil_residue') * 1000) + .fluidOutputs(fluid('vacuum_oil_residue') * 1000) + .fluidOutputs(fluid('crude_lubricating_oil') * 300) + .fluidOutputs(fractions.heavy_gas_oil.getSulfuric(250)) + .fluidOutputs(fractions.light_gas_oil.getSulfuric(150)) + .circuitMeta(1) + .duration(100) + .EUt(30) + .buildAndRegister() + +// Slack wax Processing + +CRYSTALLIZER.recipeBuilder() + .fluidInputs(fluid('slack_wax') * 1000) + .fluidOutputs(fluid('lubricating_oil') * 250) + .outputs(metaitem('paraffin_wax') * 4) + .duration(300) + .EUt(30) + .buildAndRegister() + +crafting.addShaped("treated_wood_planks_paraffin", item('gregtech:planks', 1) * 8, [ + [ore('plankWood'),ore('plankWood'),ore('plankWood')], + [ore('plankWood'),metaitem('paraffin_wax'),ore('plankWood')], + [ore('plankWood'),ore('plankWood'),ore('plankWood')] +]) + +EXTRACTOR.recipeBuilder() + .inputs(metaitem('paraffin_wax')) + .circuitMeta(1) + .fluidOutputs(fluid('lubricating_oil') * 250) + .duration(100) + .EUt(30) + .buildAndRegister() + +EXTRACTOR.recipeBuilder() + .inputs(metaitem('paraffin_wax')) + .circuitMeta(2) + .fluidOutputs(fluid('resin') * 1000) + .duration(100) + .EUt(30) + .buildAndRegister() + +// Deasphalting + +MIXER.recipeBuilder() + .fluidInputs(fluid('vacuum_oil_residue') * 300) + .fluidInputs(fluid('supercritical_propane') * 300) + .fluidOutputs(fluid('asphaltene_extract') * 300) + .fluidOutputs(fluid('deasphalted_oil') * 250) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('asphaltene_extract') * 300) + .outputs(metaitem('dustAsphalt') * 4) + .fluidOutputs(fluid('supercritical_propane') * 300) + .duration(150) + .EUt(Globals.voltAmps[0]) + .buildAndRegister() + +MIXER.recipeBuilder() + .inputs(ore('dustAsphalt')) + .fluidInputs(fluid('concrete') * 144) + .outputs(item('gregtech:asphalt') * 2) + .duration(30) + .EUt(16) + .buildAndRegister() + +// Carbon black production + +def residues = [ + 'atmospheric_oil_residue', + 'vacuum_oil_residue', + 'visbreaking_residue', + 'deasphalted_oil', + 'clarified_slurry_oil' +] + +for (residue in residues) { + ROTARY_KILN.recipeBuilder() + .fluidInputs(fluid(residue) * 1000) + .fluidInputs(fluid('natural_gas') * 10) + .fluidInputs(fluid('oxygen') * 20) + .outputs(metaitem('dustCarbonBlack') * 30) + .fluidOutputs(fluid('flue_gas') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + + ROTARY_KILN.recipeBuilder() + .fluidInputs(fluid(residue) * 1000) + .fluidInputs(fluid('methane') * 35) + .fluidInputs(fluid('oxygen') * 70) + .outputs(metaitem('dustCarbonBlack') * 30) + .fluidOutputs(fluid('carbon_dioxide') * 10000) + .duration(200) + .EUt(120) + .buildAndRegister() +} + +oreDict.add('dyeBlack', metaitem('dustCarbonBlack')) \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/SteamCracking.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/SteamCracking.groovy new file mode 100644 index 000000000..1fd23b3bc --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/SteamCracking.groovy @@ -0,0 +1,125 @@ +import globals.Globals +import static globals.Petrochemistry.* + +ROASTER = recipemap('roaster') +CRACKER = recipemap('cracker') +DT = recipemap('sieve_distillation') + +crackables.each { _, crackable -> + if (crackable.steam_crackable) { + + ROASTER.recipeBuilder() + .fluidInputs(crackable.get(1000)) + .fluidInputs(fluid('hot_hp_steam') * 1000) + .fluidOutputs(crackable.getSteam(700)) + .duration(300) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + CRACKER.recipeBuilder() + .fluidInputs(crackable.get(1000)) + .fluidInputs(fluid('hot_hp_steam') * 1000) + .fluidOutputs(crackable.getSteam(1000)) + .duration(80) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + } +} + +/* ASSUMPTIONS: +- Pyrolysis gas: 7 carbons per mol +- Light gas oil: 12 carbons per mol +- Heavy gas oil: 16.5 carbons per mol +- Light naphtha: 5.5 carbons per mol +- Heavy naphtha: 9 carbons per mol */ + +DT.recipeBuilder() + .fluidInputs(fluid('steamcracked_ethane') * 1000) + .fluidOutputs(fluid('ethylene') * 890) + .fluidOutputs(fluid('methane') * 220) + .fluidOutputs(fluid('hydrogen') * 3330) + .duration(160) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('steamcracked_propane') * 1000) + .fluidOutputs(fluid('pyrolysis_gasoline') * 30) + .fluidOutputs(fluid('butadiene') * 40) + .fluidOutputs(fluid('propene') * 210) + .fluidOutputs(fluid('ethylene') * 660) + .fluidOutputs(fluid('methane') * 680) + .fluidOutputs(fluid('hydrogen') * 1845) + .duration(160) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('steamcracked_butane') * 1000) + .fluidOutputs(fluid('pyrolysis_gasoline') * 45) + .fluidOutputs(fluid('butadiene') * 45) + .fluidOutputs(fluid('butene') * 65) + .fluidOutputs(fluid('propene') * 220) + .fluidOutputs(fluid('ethylene') * 820) + .fluidOutputs(fluid('methane') * 945) + .fluidOutputs(fluid('hydrogen') * 2310) + .duration(160) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('steamcracked_light_naphtha') * 1000) + .fluidOutputs(fluid('light_gas_oil') * 25) + .fluidOutputs(fluid('pyrolysis_gasoline') * 185) + .fluidOutputs(fluid('butadiene') * 70) + .fluidOutputs(fluid('butene') * 45) + .fluidOutputs(fluid('propene') * 300) + .fluidOutputs(fluid('ethylene') * 860) + .fluidOutputs(fluid('methane') * 825) + .fluidOutputs(fluid('hydrogen') * 2320) + .duration(160) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('steamcracked_heavy_naphtha') * 1000) + .fluidOutputs(fluid('light_gas_oil') * 30) + .fluidOutputs(fluid('pyrolysis_gasoline') * 310) + .fluidOutputs(fluid('butadiene') * 155) + .fluidOutputs(fluid('butene') * 125) + .fluidOutputs(fluid('propene') * 500) + .fluidOutputs(fluid('ethylene') * 1350) + .fluidOutputs(fluid('methane') * 1150) + .fluidOutputs(fluid('hydrogen') * 2585) + .duration(160) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('steamcracked_light_gas_oil') * 1000) + .fluidOutputs(fluid('light_gas_oil') * 235) + .fluidOutputs(fluid('pyrolysis_gasoline') * 295) + .fluidOutputs(fluid('butadiene') * 175) + .fluidOutputs(fluid('butene') * 115) + .fluidOutputs(fluid('propene') * 615) + .fluidOutputs(fluid('ethylene') * 1410) + .fluidOutputs(fluid('methane') * 1290) + .fluidOutputs(fluid('hydrogen') * 1730) + .duration(160) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() + +DT.recipeBuilder() + .fluidInputs(fluid('steamcracked_heavy_gas_oil') * 1000) + .fluidOutputs(fluid('light_gas_oil') * 355) + .fluidOutputs(fluid('pyrolysis_gasoline') * 565) + .fluidOutputs(fluid('butadiene') * 175) + .fluidOutputs(fluid('butene') * 250) + .fluidOutputs(fluid('propene') * 780) + .fluidOutputs(fluid('ethylene') * 1560) + .fluidOutputs(fluid('methane') * 1125) + .fluidOutputs(fluid('hydrogen') * 2265) + .duration(160) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/ThermalCracking.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/ThermalCracking.groovy new file mode 100644 index 000000000..e3a1710d8 --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/oil_refining/ThermalCracking.groovy @@ -0,0 +1,197 @@ +import globals.Globals +import static globals.Petrochemistry.* + +CRACKER = recipemap('cracker') +DT = recipemap('distillation_tower') +COKING = recipemap('coking_tower') +TUBE_FURNACE = recipemap('tube_furnace') +FLBR = recipemap('fluidized_bed_reactor') +PHASE_SEPARATOR = recipemap('phase_separator') + +// Thermal Cracking +crackables.each { _, crackable -> + if (crackable.thermal_crackable) { + ROASTER.recipeBuilder() + .fluidInputs(crackable.get(1000)) + .fluidOutputs(crackable.getThermallyCracked(700)) + .duration(800) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + CRACKER.recipeBuilder() + .fluidInputs(crackable.get(4000)) + .fluidOutputs(crackable.getThermallyCracked(4000)) + .circuitMeta(1) + .duration(200) + .EUt(Globals.voltAmps[2] * 2) + .buildAndRegister() + + // Visbreaking + MIXER.recipeBuilder() + .fluidInputs(crackable.getThermallyCracked(250)) + .fluidInputs(crackable.get(600)) + .fluidInputs(fractions.heavy_gas_oil.getCrude(150)) + .fluidOutputs(crackable.getQuenched(1000)) + .duration(40) + .EUt(30) + .buildAndRegister() + } +} + +// Visbreaking Separation + DT.recipeBuilder() + .fluidInputs(crackables.atmospheric_oil_residue.getQuenched(1000)) + .fluidOutputs(fluid('visbreaking_residue') * 550) + .fluidOutputs(fractions.heavy_gas_oil.getCrude(150)) + .fluidOutputs(fractions.light_gas_oil.getCrude(300)) + .fluidOutputs(fractions.naphtha.getCrude(385)) + .fluidOutputs(fluid('sulfuric_fuel_gas') * 275) + .duration(100) + .EUt(30) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(crackables.vacuum_oil_residue.getQuenched(1000)) + .fluidOutputs(fluid('visbreaking_residue') * 645) + .fluidOutputs(fractions.heavy_gas_oil.getCrude(150)) + .fluidOutputs(fractions.light_gas_oil.getCrude(355)) + .fluidOutputs(fractions.naphtha.getCrude(305)) + .fluidOutputs(fluid('sulfuric_fuel_gas') * 225) + .duration(100) + .EUt(30) + .buildAndRegister() + +// Coking + // Delayed Coking + VACUUM_DT.recipeBuilder() + .fluidInputs(crackables.atmospheric_oil_residue.get(1000)) + .fluidInputs(fluid('coking_effluents') * 470) + .fluidOutputs(fluid('coking_residue') * 470) + .fluidOutputs(fractions.heavy_gas_oil.getCrude(325)) + .fluidOutputs(fractions.light_gas_oil.getCrude(225)) + .fluidOutputs(fractions.naphtha.getCrude(1560)) + .fluidOutputs(fluid('sulfuric_fuel_gas') * 1365) + .circuitMeta(2) + .duration(200) + .EUt(30) + .buildAndRegister() + + VACUUM_DT.recipeBuilder() + .fluidInputs(crackables.vacuum_oil_residue.get(890)) + .fluidInputs(fluid('coking_effluents') * 470) + .fluidOutputs(fluid('coking_residue') * 470) + .fluidOutputs(fractions.heavy_gas_oil.getCrude(325)) + .fluidOutputs(fractions.light_gas_oil.getCrude(225)) + .fluidOutputs(fractions.naphtha.getCrude(1560)) + .fluidOutputs(fluid('sulfuric_fuel_gas') * 1365) + .circuitMeta(2) + .duration(200) + .EUt(30) + .buildAndRegister() + + VACUUM_DT.recipeBuilder() + .fluidInputs(fluid('clarified_slurry_oil') * 1000) + .fluidInputs(fluid('coking_effluents') * 470) + .fluidOutputs(fluid('coking_residue') * 470) + .fluidOutputs(fractions.heavy_gas_oil.getCrude(325)) + .fluidOutputs(fractions.light_gas_oil.getCrude(225)) + .fluidOutputs(fractions.naphtha.getCrude(1560)) + .fluidOutputs(fluid('sulfuric_fuel_gas') * 1365) + .duration(200) + .EUt(30) + .buildAndRegister() + + VACUUM_DT.recipeBuilder() + .fluidInputs(fluid('visbreaking_residue') * 850) + .fluidInputs(fluid('coking_effluents') * 470) + .fluidOutputs(fluid('coking_residue') * 470) + .fluidOutputs(fractions.heavy_gas_oil.getCrude(325)) + .fluidOutputs(fractions.light_gas_oil.getCrude(225)) + .fluidOutputs(fractions.naphtha.getCrude(1560)) + .fluidOutputs(fluid('sulfuric_fuel_gas') * 1365) + .duration(200) + .EUt(30) + .buildAndRegister() + + TUBE_FURNACE.recipeBuilder() + .fluidInputs(fluid('coking_residue') * 1000) + .fluidOutputs(fluid('heated_coking_residue') * 1000) + .duration(200) + .EUt(480) + .buildAndRegister() + + TUBE_FURNACE.recipeBuilder() // Startup + .fluidInputs(crackables.atmospheric_oil_residue.get(1000)) + .fluidOutputs(fluid('heated_coking_residue') * 1000) + .duration(1000) + .EUt(480) + .buildAndRegister() + + COKING.recipeBuilder() + .fluidInputs(fluid('heated_coking_residue') * 1000) + .fluidInputs(fluid('water') * 1000) + .outputs(metaitem('dustGreenCoke') * 32) + .fluidOutputs(fluid('coking_effluents') * 1000) + .duration(200) + .EUt(30) + .buildAndRegister() + + // Fluid Coking + FLBR.recipeBuilder() + .fluidInputs(crackables.atmospheric_oil_residue.get(1125)) + .inputs(ore('dustHeatedGreenCoke') * 4) + .fluidOutputs(fluid('coke_fines') * 1000) + .duration(50) + .EUt(30) + .buildAndRegister() + + FLBR.recipeBuilder() + .fluidInputs(crackables.vacuum_oil_residue.get(1000)) + .inputs(ore('dustHeatedGreenCoke') * 4) + .fluidOutputs(fluid('coke_fines') * 1000) + .duration(50) + .EUt(30) + .buildAndRegister() + + FLBR.recipeBuilder() + .fluidInputs(fluid('clarified_slurry_oil') * 1125) + .inputs(ore('dustHeatedGreenCoke') * 4) + .fluidOutputs(fluid('coke_fines') * 1000) + .duration(50) + .EUt(30) + .buildAndRegister() + + FLBR.recipeBuilder() + .fluidInputs(fluid('visbreaking_residue') * 960) + .inputs(ore('dustHeatedGreenCoke') * 4) + .fluidOutputs(fluid('coke_fines') * 1000) + .duration(50) + .EUt(30) + .buildAndRegister() + + PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('coke_fines') * 1000) + .outputs(metaitem('dustGreenCoke') * 20) + .fluidOutputs(fluid('fluid_cracked_vacuum_oil_residue') * 1000) + .duration(10) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('fluid_cracked_vacuum_oil_residue') * 1000) + .fluidOutputs(fractions.heavy_gas_oil.getCrude(360)) + .fluidOutputs(fractions.light_gas_oil.getCrude(540)) + .fluidOutputs(fractions.naphtha.getCrude(1150)) + .fluidOutputs(fluid('sulfuric_fuel_gas') * 1580) + .duration(50) + .EUt(30) + .buildAndRegister() + + // Flexicoking + PYROLYSE_OVEN.recipeBuilder() + .inputs(ore('dustGreenCoke') * 20) + .fluidInputs(fluid('dense_steam') * 16000) + .outputs(metaitem('dustHeatedGreenCoke') * 4) + .fluidOutputs(fluid('syngas') * 12000) + .duration(50) + .EUt(30) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/EpoxyChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/EpoxyChain.groovy index 14f9e0ff2..6e0c8704d 100644 --- a/groovy/postInit/chemistry/organic_chemistry/polymers/EpoxyChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/EpoxyChain.groovy @@ -13,6 +13,7 @@ POLYMERIZATION = recipemap('polymerization_tank') EBF = recipemap('electric_blast_furnace') FLUID_SOLIDIFER = recipemap('fluid_solidifier') CHEMICAL_BATH = recipemap('chemical_bath') +FBR = recipemap('fixed_bed_reactor') // Fiber-Reinforced Epoxy Resin Sheet * 1 mods.gregtech.chemical_bath.removeByInput(16, [metaitem('wireFineBorosilicateGlass')], [fluid('epoxy') * 144]) @@ -115,31 +116,31 @@ DISTILLATION_TOWER.recipeBuilder() .EUt(30) .buildAndRegister() -// Unmodified DGEBPA +// Unmodified DGEBA for (curingAgent in curingAgents) { if (curingAgent.liquid) { POLYMERIZATION.recipeBuilder() - .inputs(ore('dustBisphenolA')) - .fluidInputs(fluid('epichlorohydrin') * 1200) //excess epichlorohydrin to control degree of polymerization - .fluidInputs(fluid(curingAgent.name) * curingAgent.amount_required) - .fluidInputs(fluid('sodium_hydroxide_solution') * 1000) - .outputs(metaitem('dustWetEpoxy') * 2) - .fluidOutputs(fluid('diluted_saltwater') * 2000) - .duration((int) (100 * curingAgent.duration)) - .EUt(480) - .buildAndRegister() + .inputs(ore('dustBisphenolA')) + .fluidInputs(fluid('epichlorohydrin') * 1200) //excess epichlorohydrin to control degree of polymerization + .fluidInputs(fluid(curingAgent.name) * curingAgent.amount_required) + .fluidInputs(fluid('sodium_hydroxide_solution') * 1000) + .outputs(metaitem('dustWetEpoxy') * 2) + .fluidOutputs(fluid('diluted_saltwater') * 2000) + .duration((int) (100 * curingAgent.duration)) + .EUt(480) + .buildAndRegister() } else { POLYMERIZATION.recipeBuilder() - .inputs(ore('dustBisphenolA') * 4) - .fluidInputs(fluid('epichlorohydrin') * 4800) - .inputs(ore(curingAgent.name) * curingAgent.amount_required) - .fluidInputs(fluid('sodium_hydroxide_solution') * 4000) - .outputs(metaitem('dustWetEpoxy') * 8) - .fluidOutputs(fluid('diluted_saltwater') * 8000) - .duration((int) (100 * curingAgent.duration)) - .EUt(480) - .buildAndRegister() + .inputs(ore('dustBisphenolA') * 4) + .fluidInputs(fluid('epichlorohydrin') * 4800) + .inputs(ore(curingAgent.name) * curingAgent.amount_required) + .fluidInputs(fluid('sodium_hydroxide_solution') * 4000) + .outputs(metaitem('dustWetEpoxy') * 8) + .fluidOutputs(fluid('diluted_saltwater') * 8000) + .duration((int) (100 * curingAgent.duration)) + .EUt(480) + .buildAndRegister() } } @@ -152,70 +153,90 @@ VACUUM_CHAMBER.recipeBuilder() .buildAndRegister() // Flame retardant DGEBA + // Catalyst preparation + BR.recipeBuilder() + .inputs(ore('dustAluminiumHydroxide') * 7) + .fluidInputs(fluid('hydrochloric_acid') * 3000) + .fluidOutputs(fluid('aluminium_chloride_solution') * 3000) + .duration(100) + .EUt(30) + .buildAndRegister() -// Catalyst preparation -BR.recipeBuilder() - .inputs(ore('dustAluminiumHydroxide') * 7) - .fluidInputs(fluid('hydrochloric_acid') * 3000) - .fluidOutputs(fluid('aluminium_chloride_solution') * 3000) - .duration(100) - .EUt(30) - .buildAndRegister() + BR.recipeBuilder() + .inputs(ore('dustNickelChloride') * 9) + .inputs(ore('dustAluminiumChloride') * 4) + .fluidInputs(fluid('demineralized_water') * 4000) + .fluidInputs(fluid('sodium_hydroxide_solution') * 8000) + .outputs(metaitem('dustNickelHydrotalcite')) + .fluidOutputs(fluid('salt_water') * 8000) + .duration(100) + .EUt(480) + .buildAndRegister() -BR.recipeBuilder() - .inputs(ore('dustNickelChloride') * 9) - .inputs(ore('dustAluminiumChloride') * 4) - .fluidInputs(fluid('demineralized_water') * 4000) - .fluidInputs(fluid('sodium_hydroxide_solution') * 8000) - .outputs(metaitem('dustNickelHydrotalcite')) - .fluidOutputs(fluid('salt_water') * 8000) - .duration(100) - .EUt(480) - .buildAndRegister() + BR.recipeBuilder() + .inputs(ore('dustNickelHydrotalcite')) + .fluidInputs(fluid('sodium_tungstate_solution') * 100) + .outputs(metaitem('dustBisphenolBrominationCatalyst')) + .fluidOutputs(fluid('wastewater') * 100) + .duration(100) + .EUt(30) + .buildAndRegister() -BR.recipeBuilder() - .inputs(ore('dustNickelHydrotalcite')) - .fluidInputs(fluid('sodium_tungstate_solution') * 100) - .outputs(metaitem('dustBisphenolBrominationCatalyst')) - .fluidOutputs(fluid('wastewater') * 100) - .duration(100) - .EUt(30) - .buildAndRegister() + // Bromination + PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('impure_brominated_bisphenol_emulsion') * 10000) + .fluidOutputs(fluid('impure_brominated_bisphenol_solution') * 6000) + .fluidOutputs(fluid('water') * 4000) + .duration(160) + .buildAndRegister() -// Bromination + MIXER.recipeBuilder() + .fluidInputs(fluid('water') * 6500) + .fluidInputs(fluid('sodium_sulfite_solution') * 500) + .fluidOutputs(fluid('diluted_sodium_sulfite_solution') * 7000) + .duration(20) + .EUt(30) + .buildAndRegister() -BR.recipeBuilder() - .inputs(ore('dustBisphenolA')) - .notConsumable(ore('dustBisphenolBrominationCatalyst')) - .fluidInputs(fluid('one_two_dichloroethane') * 6000) - .fluidInputs(fluid('hydrogen_peroxide_solution') * 2000) - .fluidInputs(fluid('bromine') * 4000) - .fluidOutputs(fluid('impure_brominated_bisphenol_emulsion') * 10000) - .duration(160) - .EUt(1920) - .buildAndRegister() + BR.recipeBuilder() + .inputs(ore('dustBisphenolA')) + .notConsumable(ore('dustBisphenolBrominationCatalyst')) + .fluidInputs(fluid('one_two_dichloroethane') * 6000) + .fluidInputs(fluid('hydrogen_peroxide_solution') * 2000) + .fluidInputs(fluid('bromine') * 4000) + .fluidOutputs(fluid('impure_brominated_bisphenol_emulsion') * 10000) + .duration(160) + .EUt(1920) + .buildAndRegister() -PHASE_SEPARATOR.recipeBuilder() - .fluidInputs(fluid('impure_brominated_bisphenol_emulsion') * 10000) - .fluidOutputs(fluid('impure_brominated_bisphenol_solution') * 6000) - .fluidOutputs(fluid('water') * 4000) - .duration(160) - .buildAndRegister() + CENTRIFUGE.recipeBuilder() + .fluidInputs(fluid('impure_brominated_bisphenol_solution') * 6000) + .fluidInputs(fluid('diluted_sodium_sulfite_solution') * 7000) + .fluidOutputs(fluid('tetrabromobisphenol_a_solution') * 6000) + .fluidOutputs(fluid('water') * 7000) + .duration(100) + .EUt(30) + .buildAndRegister() -MIXER.recipeBuilder() - .fluidInputs(fluid('water') * 6500) - .fluidInputs(fluid('sodium_sulfite_solution') * 500) - .fluidOutputs(fluid('diluted_sodium_sulfite_solution') * 7000) - .duration(20) - .EUt(30) +// Epoxy Cresol Novolacs (ECN) + +FBR.recipeBuilder() + .notConsumable(ore('catalystBedMagnesia')) + .fluidInputs(fluid('phenol') * 50) + .fluidInputs(fluid('methanol') * 50) + .fluidOutputs(fluid('ortho_cresylic_acid_mixture') * 50) + .circuitMeta(1) + .duration(5) + .EUt(120) .buildAndRegister() -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('impure_brominated_bisphenol_solution') * 6000) - .fluidInputs(fluid('diluted_sodium_sulfite_solution') * 7000) - .fluidOutputs(fluid('tetrabromobisphenol_a_solution') * 6000) - .fluidOutputs(fluid('water') * 7000) - .duration(100) +FBR.recipeBuilder() + .notConsumable(ore('catalystBedMagnesia')) + .fluidInputs(fluid('phenol') * 50) + .fluidInputs(fluid('methanol') * 100) + .fluidOutputs(fluid('two_six_xylenol') * 50) + .circuitMeta(2) + .duration(5) .EUt(30) .buildAndRegister() @@ -227,235 +248,290 @@ ROASTER.recipeBuilder() .EUt(30) .buildAndRegister() -// Curing agents -// Dicyanimide -BR.recipeBuilder() - .inputs(ore('dustCalciumCyanamide') * 4) - .fluidInputs(fluid('distilled_water') * 1000) - .fluidInputs(fluid('carbon_dioxide') * 1000) - .outputs(metaitem('dustCalcite') * 5) - .outputs(metaitem('dustCyanamide') * 5) +DISTILLATION_TOWER.recipeBuilder() + .fluidInputs(fluid('ortho_cresylic_acid_mixture') * 1000) + .fluidOutputs(fluid('ortho_cresol') * 995) + .fluidOutputs(fluid('two_six_xylenol') * 5) .duration(100) .EUt(30) .buildAndRegister() -BR.recipeBuilder() - .inputs(ore('dustCyanamide') * 10) - .notConsumable(fluid('sodium_hydroxide_solution') * 1000) - .outputs(metaitem('dustDicyandiamide') * 10) - .duration(200) +DISTILLATION_TOWER.recipeBuilder() + .fluidInputs(fluid('xylenol') * 1000) + //.fluidOutputs(fluid('three_four_xylenol') * 65) + //.fluidOutputs(fluid('three_five_xylenol') * 320) // These xylenols are used for insecticide, not needed now. + //.fluidOutputs(fluid('two_three_xylenol') * 140) + .fluidOutputs(fluid('two_four_five_xylenol_mixture') * 410) + .fluidOutputs(fluid('two_six_xylenol') * 65) + .duration(100) .EUt(30) .buildAndRegister() -// 2-methylimidazole (Debus–Radziszewski imidazole synthesis) -LCR.recipeBuilder() - .fluidInputs(fluid('gtfo_glyoxal') * 1000) - .fluidInputs(fluid('ammonia') * 2000) - .fluidInputs(fluid('gtfo_acetaldehyde') * 1000) - .outputs(metaitem('dustTwoMethylimidazole') * 12) - .duration(200) +POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('cresol') * 1400) + .fluidInputs(fluid('formaldehyde') * 1000) + .fluidInputs(fluid('two_six_xylenol') * 100) + .notConsumable(ore('dustOxalicAcid')) + .fluidOutputs(fluid('cresol_novolacs_oligomer') * 1500) + .duration(100) .EUt(30) .buildAndRegister() -MIXER.recipeBuilder() - .inputs(ore('dustTwoMethylimidazole')) - .inputs(ore('dustDicyandiamide') * 2) - .inputs(ore('dustPhthalicAnhydride')) - .outputs(metaitem('dustEpoxyCuringMixture')) - .duration(20) +POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('ortho_cresol') * 1400) + .fluidInputs(fluid('formaldehyde') * 1000) + .fluidInputs(fluid('two_six_xylenol') * 100) + .notConsumable(ore('dustOxalicAcid')) + .fluidOutputs(fluid('cresol_novolacs_oligomer') * 1500) + .duration(100) .EUt(30) .buildAndRegister() -POLYMERIZATION.recipeBuilder() - .inputs(ore('dustTetrabromobisphenolA') * 4) - .fluidInputs(fluid('epichlorohydrin') * 4800) - .inputs(ore('dustEpoxyCuringMixture')) - .fluidInputs(fluid('sodium_hydroxide_solution') * 4000) - .outputs(metaitem('dustWetFlameRetardantEpoxy') * 8) - .fluidOutputs(fluid('diluted_saltwater') * 8000) +BR.recipeBuilder() + .fluidInputs(fluid('epichlorohydrin') * 1000) + .fluidInputs(fluid('cresol_novolacs_oligomer') * 1000) + .fluidInputs(fluid('distilled_water') * 1000) + .outputs(metaitem('dustWetEpoxyCresolNovolacs')) + .fluidOutputs(fluid('hydrochloric_acid') * 1000) .duration(100) - .EUt(1920) + .EUt(30) .buildAndRegister() VACUUM_CHAMBER.recipeBuilder() - .inputs(ore('dustWetFlameRetardantEpoxy') * 7) + .inputs(ore('dustWetEpoxyCresolNovolacs')) .notConsumable(ore('springNichrome')) - .outputs(metaitem('dustFlameRetardantEpoxy') * 7) + .outputs(metaitem('dustEpoxyCresolNovolacs')) .duration(25) .EUt(30) .buildAndRegister() -// Fiber reinforced epoxy +// Curing agents + // Dicyanimide + BR.recipeBuilder() + .inputs(ore('dustCalciumCyanamide') * 4) + .fluidInputs(fluid('distilled_water') * 1000) + .fluidInputs(fluid('carbon_dioxide') * 1000) + .outputs(metaitem('dustCalcite') * 5) + .outputs(metaitem('dustCyanamide') * 5) + .duration(100) + .EUt(30) + .buildAndRegister() -// E glass -MIXER.recipeBuilder() - .inputs(ore('dustSiliconDioxide') * 3) - .fluidInputs(fluid('sulfuric_acid') * 10) - .outputs(metaitem('dustAcidWashedSiliconDioxide') * 3) - .duration(10) - .EUt(30) - .buildAndRegister() + BR.recipeBuilder() + .inputs(ore('dustCyanamide') * 10) + .notConsumable(fluid('sodium_hydroxide_solution') * 1000) + .outputs(metaitem('dustDicyandiamide') * 10) + .duration(200) + .EUt(30) + .buildAndRegister() -MIXER.recipeBuilder() - .inputs(ore('dustAcidWashedSiliconDioxide') * 18) - .inputs(ore('dustAlumina') * 5) - .inputs(ore('dustBoronTrioxide') * 5) - .inputs(ore('dustQuicklime') * 4) - .outputs(metaitem('dustEGlass') * 10) - .duration(100) - .EUt(30) - .buildAndRegister() + // 2-methylimidazole (Debus–Radziszewski imidazole synthesis) + LCR.recipeBuilder() + .fluidInputs(fluid('gtfo_glyoxal') * 1000) + .fluidInputs(fluid('ammonia') * 2000) + .fluidInputs(fluid('gtfo_acetaldehyde') * 1000) + .outputs(metaitem('dustTwoMethylimidazole') * 12) + .duration(200) + .EUt(30) + .buildAndRegister() -EBF.recipeBuilder() - .inputs(ore('dustEGlass')) - .fluidOutputs(fluid('e_glass') * 144) - .blastFurnaceTemp(1000) - .EUt(120) - .duration(10) - .buildAndRegister() + MIXER.recipeBuilder() + .inputs(ore('dustTwoMethylimidazole')) + .inputs(ore('dustDicyandiamide') * 2) + .inputs(ore('dustPhthalicAnhydride')) + .outputs(metaitem('dustEpoxyCuringMixture')) + .duration(20) + .EUt(30) + .buildAndRegister() -CENTRIFUGE.recipeBuilder() - .notConsumable(ore('stickSteel')) - .inputs(ore('fiberKevlar')) - .fluidInputs(fluid('e_glass') * 144) - .outputs(metaitem('glass_fibers')) - .EUt(120) - .duration(10) - .buildAndRegister() + POLYMERIZATION.recipeBuilder() + .inputs(ore('dustTetrabromobisphenolA') * 4) + .fluidInputs(fluid('epichlorohydrin') * 4800) + .inputs(ore('dustEpoxyCuringMixture')) + .fluidInputs(fluid('sodium_hydroxide_solution') * 4000) + .outputs(metaitem('dustWetFlameRetardantEpoxy') * 8) + .fluidOutputs(fluid('diluted_saltwater') * 8000) + .duration(100) + .EUt(1920) + .buildAndRegister() -CHEMICAL_BATH.recipeBuilder() - .inputs(metaitem('glass_fibers')) - .fluidInputs(fluid('flame_retardant_epoxy') * 144) - .outputs(metaitem('epoxy_lamina')) - .EUt(120) - .duration(10) - .buildAndRegister() + VACUUM_CHAMBER.recipeBuilder() + .inputs(ore('dustWetFlameRetardantEpoxy') * 7) + .notConsumable(ore('springNichrome')) + .outputs(metaitem('dustFlameRetardantEpoxy') * 7) + .duration(25) + .EUt(30) + .buildAndRegister() -DRYER.recipeBuilder() - .inputs(metaitem('epoxy_lamina')) - .outputs(metaitem('plateReinforcedEpoxyResin')) - .EUt(120) - .duration(100) - .buildAndRegister() +// Fiber reinforced epoxy + // E glass + MIXER.recipeBuilder() + .inputs(ore('dustSiliconDioxide') * 3) + .fluidInputs(fluid('sulfuric_acid') * 10) + .outputs(metaitem('dustAcidWashedSiliconDioxide') * 3) + .duration(10) + .EUt(30) + .buildAndRegister() -// SU-8 photoresist + MIXER.recipeBuilder() + .inputs(ore('dustAcidWashedSiliconDioxide') * 18) + .inputs(ore('dustAlumina') * 5) + .inputs(ore('dustBoronTrioxide') * 5) + .inputs(ore('dustQuicklime') * 4) + .outputs(metaitem('dustEGlass') * 10) + .duration(100) + .EUt(30) + .buildAndRegister() -// Bisphenol A Novolac Epoxy -POLYMERIZATION.recipeBuilder() - .fluidInputs(fluid('epoxy') * 1008) - .fluidInputs(fluid('formaldehyde') * 3000) - .outputs(metaitem('dustBisphenolANovolacEpoxy') * 7) - .duration(100) - .EUt(1920) - .buildAndRegister() + EBF.recipeBuilder() + .inputs(ore('dustEGlass')) + .fluidOutputs(fluid('e_glass') * 144) + .blastFurnaceTemp(1000) + .EUt(120) + .duration(10) + .buildAndRegister() -// Propylene Carbonate -CSTR.recipeBuilder() - .fluidInputs(fluid('propene') * 100) - .fluidInputs(fluid('chlorine') * 100) - .fluidInputs(fluid('water') * 50) - .fluidOutputs(fluid('propylene_chlorohydrin') * 100) - .duration(5) - .EUt(30) - .buildAndRegister() + CENTRIFUGE.recipeBuilder() + .notConsumable(ore('stickSteel')) + .inputs(ore('fiberKevlar')) + .fluidInputs(fluid('e_glass') * 144) + .outputs(metaitem('glass_fibers')) + .EUt(120) + .duration(10) + .buildAndRegister() -BR.recipeBuilder() - .inputs(ore('dustCalciumHydroxide') * 5) - .fluidInputs(fluid('propylene_chlorohydrin') * 2000) - .fluidOutputs(fluid('propylene_oxide_solution') * 2000) - .duration(100) - .EUt(30) - .buildAndRegister() + // Curing + CHEMICAL_BATH.recipeBuilder() + .inputs(metaitem('glass_fibers')) + .fluidInputs(fluid('flame_retardant_epoxy') * 144) + .outputs(metaitem('epoxy_lamina')) + .EUt(120) + .duration(10) + .buildAndRegister() -DISTILLATION_TOWER.recipeBuilder() - .fluidInputs(fluid('propylene_oxide_solution') * 2000) - .outputs(metaitem('dustCalciumChloride') * 3) - .fluidOutputs(fluid('water') * 2000) - .fluidOutputs(fluid('propylene_oxide') * 2000) - .duration(100) - .EUt(30) - .buildAndRegister() + DRYER.recipeBuilder() + .inputs(metaitem('epoxy_lamina')) + .outputs(metaitem('plateReinforcedEpoxyResin')) + .EUt(120) + .duration(100) + .buildAndRegister() -BCR.recipeBuilder() - .fluidInputs(fluid('propylene_oxide') * 50) - .fluidInputs(fluid('carbon_dioxide') * 50) - .fluidOutputs(fluid('propylene_carbonate') * 50) - .duration(5) - .EUt(30) - .buildAndRegister() +// SU-8 photoresist + // Bisphenol A Novolac Epoxy + POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('epoxy') * 1008) + .fluidInputs(fluid('formaldehyde') * 3000) + .outputs(metaitem('dustBisphenolANovolacEpoxy') * 7) + .duration(100) + .EUt(1920) + .buildAndRegister() -// Triarylsulfonium Hexafluoroantimonate + // Propylene Carbonate + CSTR.recipeBuilder() + .fluidInputs(fluid('propene') * 100) + .fluidInputs(fluid('chlorine') * 100) + .fluidInputs(fluid('water') * 50) + .fluidOutputs(fluid('propylene_chlorohydrin') * 100) + .duration(5) + .EUt(30) + .buildAndRegister() -BR.recipeBuilder() - .fluidInputs(fluid('antimony_trifluoride') * 576) - .fluidInputs(fluid('fluorine') * 2000) - .fluidOutputs(fluid('antimony_pentafluoride') * 1000) - .duration(100) - .EUt(30) - .buildAndRegister() + BR.recipeBuilder() + .inputs(ore('dustCalciumHydroxide') * 5) + .fluidInputs(fluid('propylene_chlorohydrin') * 2000) + .fluidOutputs(fluid('propylene_oxide_solution') * 2000) + .duration(100) + .EUt(30) + .buildAndRegister() -BR.recipeBuilder() - .inputs(ore('dustSodiumFluoride') * 2) - .fluidInputs(fluid('antimony_pentafluoride') * 1000) - .outputs(metaitem('dustSodiumHexafluoroantimonate') * 8) - .duration(100) - .EUt(30) - .buildAndRegister() + DISTILLATION_TOWER.recipeBuilder() + .fluidInputs(fluid('propylene_oxide_solution') * 2000) + .outputs(metaitem('dustCalciumChloride') * 3) + .fluidOutputs(fluid('water') * 2000) + .fluidOutputs(fluid('propylene_oxide') * 2000) + .duration(100) + .EUt(30) + .buildAndRegister() -BR.recipeBuilder() - .inputs(ore('dustSulfur') * 2) - .fluidInputs(fluid('chlorine') * 2000) - .fluidOutputs(fluid('disulfur_dichloride') * 1000) - .duration(100) - .EUt(30) - .buildAndRegister() + BCR.recipeBuilder() + .fluidInputs(fluid('propylene_oxide') * 50) + .fluidInputs(fluid('carbon_dioxide') * 50) + .fluidOutputs(fluid('propylene_carbonate') * 50) + .duration(5) + .EUt(30) + .buildAndRegister() -BR.recipeBuilder() - .fluidInputs(fluid('benzene') * 2000) - .fluidInputs(fluid('disulfur_dichloride') * 1000) - .outputs(metaitem('dustSulfur')) - .outputs(metaitem('dustDiphenylSulfide')) - .fluidOutputs(fluid('hydrogen_chloride') * 2000) - .duration(100) - .EUt(30) - .buildAndRegister() + // Triarylsulfonium Hexafluoroantimonate + BR.recipeBuilder() + .fluidInputs(fluid('antimony_trifluoride') * 576) + .fluidInputs(fluid('fluorine') * 2000) + .fluidOutputs(fluid('antimony_pentafluoride') * 1000) + .duration(100) + .EUt(30) + .buildAndRegister() -BR.recipeBuilder() - .notConsumable(ore('dustAluminiumChloride')) - .fluidInputs(fluid('benzene') * 2000) - .fluidInputs(fluid('sulfur_dioxide') * 1000) - .outputs(metaitem('dustDiphenylSulfoxide')) - .duration(80) - .EUt(30) - .buildAndRegister() + BR.recipeBuilder() + .inputs(ore('dustSodiumFluoride') * 2) + .fluidInputs(fluid('antimony_pentafluoride') * 1000) + .outputs(metaitem('dustSodiumHexafluoroantimonate') * 8) + .duration(100) + .EUt(30) + .buildAndRegister() -BR.recipeBuilder() - .inputs(ore('dustTinyPotassiumPersulfate')) - .fluidInputs(fluid('methane') * 1000) - .fluidInputs(fluid('oleum') * 11000) - .fluidOutputs(fluid('methanesulfonic_acid') * 1000) - .fluidOutputs(fluid('sulfuric_acid') * 10000) - .duration(100) - .EUt(480) - .buildAndRegister() + BR.recipeBuilder() + .inputs(ore('dustSulfur') * 2) + .fluidInputs(fluid('chlorine') * 2000) + .fluidOutputs(fluid('disulfur_dichloride') * 1000) + .duration(100) + .EUt(30) + .buildAndRegister() -MIXER.recipeBuilder() - .inputs(ore('dustPhosphorusPentoxide')) - .fluidInputs(fluid('methanesulfonic_acid') * 4000) - .fluidOutputs(fluid('sulfonium_preparation_mixture') * 4000) - .duration(100) - .EUt(30) - .buildAndRegister() + BR.recipeBuilder() + .fluidInputs(fluid('benzene') * 2000) + .fluidInputs(fluid('disulfur_dichloride') * 1000) + .outputs(metaitem('dustSulfur')) + .outputs(metaitem('dustDiphenylSulfide')) + .fluidOutputs(fluid('hydrogen_chloride') * 2000) + .duration(100) + .EUt(30) + .buildAndRegister() -BR.recipeBuilder() - .inputs(ore('dustDiphenylSulfoxide')) - .inputs(ore('dustDiphenylSulfide')) - .inputs(ore('dustSodiumHexafluoroantimonate') * 8) - .notConsumable(fluid('sulfonium_preparation_mixture') * 28000) - .outputs(metaitem('dustTriarylsulfoniumHexafluoroantimonate') * 52) - .duration(100) - .EUt(480) - .buildAndRegister() + BR.recipeBuilder() + .notConsumable(ore('dustAluminiumChloride')) + .fluidInputs(fluid('benzene') * 2000) + .fluidInputs(fluid('sulfur_dioxide') * 1000) + .outputs(metaitem('dustDiphenylSulfoxide')) + .duration(80) + .EUt(30) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustTinyPotassiumPersulfate')) + .fluidInputs(fluid('methane') * 1000) + .fluidInputs(fluid('oleum') * 11000) + .fluidOutputs(fluid('methanesulfonic_acid') * 1000) + .fluidOutputs(fluid('sulfuric_acid') * 10000) + .duration(100) + .EUt(480) + .buildAndRegister() + + MIXER.recipeBuilder() + .inputs(ore('dustPhosphorusPentoxide')) + .fluidInputs(fluid('methanesulfonic_acid') * 4000) + .fluidOutputs(fluid('sulfonium_preparation_mixture') * 4000) + .duration(100) + .EUt(30) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustDiphenylSulfoxide')) + .inputs(ore('dustDiphenylSulfide')) + .inputs(ore('dustSodiumHexafluoroantimonate') * 8) + .notConsumable(fluid('sulfonium_preparation_mixture') * 28000) + .outputs(metaitem('dustTriarylsulfoniumHexafluoroantimonate') * 52) + .duration(100) + .EUt(480) + .buildAndRegister() /* Bisphenol-A Novolac Epoxy diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy index c1abbc2a2..f6828b303 100644 --- a/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy @@ -22,7 +22,8 @@ mods.gregtech.extractor.removeByInput(2, [item('gregtech:rubber_sapling')], null mods.gregtech.extractor.removeByInput(2, [item('gregtech:rubber_leaves') * 16], null) // Raw Rubber Pulp * 1 mods.gregtech.extractor.removeByInput(2, [item('gregtech:rubber_log')], null) - +// Liquid Latex * 144 +mods.gregtech.extractor.removeByInput(30, [metaitem('dustLatex')], null) //DEFINITIONS class Catalyser { @@ -89,18 +90,17 @@ class Shape { } } -def CoagulationRecipe(coagulant, amount, duration){ +def CoagulationRecipe(coagulant, amount, duration) { def COAGULATION_RECIPES = recipemap("coagulation_tank") - if(coagulant.isFluid){ + if (coagulant.isFluid) { COAGULATION_RECIPES.recipeBuilder() .fluidInputs(fluid('latex') * (1000 * amount)) .notConsumable(fluid(coagulant.name) * (coagulant.amount_required * amount)) .outputs(metaitem('dustLatex') * (coagulant.yield_bonus * amount)) .duration(duration.intdiv(coagulant.speed_bonus)) .buildAndRegister() - } - else{ + } else { COAGULATION_RECIPES.recipeBuilder() .fluidInputs(fluid('latex') * (1000 * amount)) .notConsumable(ore(coagulant.name) * (coagulant.amount_required * amount)) @@ -123,9 +123,9 @@ def CoagulationRecipe(amount, duration){ def rubbers = [ new Rubber('dustLatex', 'Rubber', 4, 40 * 20, 4, false), - new Rubber('dustPolyisoprene', 'Rubber', 8, 225, 8, false), - new Rubber('dustRawStyreneIsopreneRubber', 'StyreneIsopreneRubber', 4, 30 * 20, 4, false), - new Rubber('dustRawStyreneButadieneRubber', 'StyreneButadieneRubber', 4, 30 * 20, 4, false) + new Rubber('dustCompoundedPolyisoprene', 'Rubber', 8, 225, 8, false), + new Rubber('dustCompoundedStyreneIsopreneRubber', 'StyreneIsopreneRubber', 4, 30 * 20, 4, false), + new Rubber('dustCompoundedStyreneButadieneRubber', 'StyreneButadieneRubber', 4, 30 * 20, 4, false) ] def sulfurSources = [ @@ -156,30 +156,17 @@ for (rubber in rubbers) { for (sulfurSource in sulfurSources) { for(shape in shapes) { for (catalyser in catalysers) { - if(rubber.isFluid) { - VULCANIZING_RECIPES.recipeBuilder() - .fluidInputs(fluid(rubber.name) * rubber.amount_required * 1000) - .inputs(ore(sulfurSource.name) * sulfurSource.amount_required) - .notConsumable(ore(catalyser.name)) - .notConsumable(metaitem('shape.extruder.' + shape.name)) - .outputs(metaitem(shape.name + rubber.output) * (rubber.yield * shape.yield)) - .duration(rubber.duration.intdiv(catalyser.speed_bonus)) - .EUt(7) - .buildAndRegister() - } - else { - VULCANIZING_RECIPES.recipeBuilder() - .inputs(ore(rubber.name) * rubber.amount_required) - .inputs(ore(sulfurSource.name) * sulfurSource.amount_required) - .notConsumable(ore(catalyser.name)) - .notConsumable(metaitem('shape.extruder.' + shape.name)) - .outputs(metaitem(shape.name + rubber.output) * (rubber.yield * shape.yield)) - .duration(rubber.duration.intdiv(catalyser.speed_bonus)) - .EUt(7) - .buildAndRegister() - } + VULCANIZING_RECIPES.recipeBuilder() + .inputs(ore(rubber.name) * rubber.amount_required) + .inputs(ore(sulfurSource.name) * sulfurSource.amount_required) + .notConsumable(ore(catalyser.name)) + .notConsumable(metaitem('shape.extruder.' + shape.name)) + .outputs(metaitem(shape.name + rubber.output) * (rubber.yield * shape.yield)) + .duration(rubber.duration.intdiv(catalyser.speed_bonus)) + .EUt(7) + .buildAndRegister() } - if(rubber.isFluid) { + if (rubber.isFluid) { VULCANIZING_RECIPES.recipeBuilder() .fluidInputs(fluid(rubber.name) * rubber.amount_required * 1000) .inputs(ore(sulfurSource.name) * sulfurSource.amount_required) @@ -211,10 +198,8 @@ for (coagulant in coagulants) { CoagulationRecipe(coagulant, 1, 150) } -// Liquid Latex * 144 -mods.gregtech.extractor.removeByInput(30, [metaitem('dustLatex')], null) - // Polyisoprene + POLYMERIZATION_TANK.recipeBuilder() .fluidInputs(fluid('isoprene') * 1000) .outputs(metaitem('dustPolyisoprene') * 4) @@ -247,7 +232,15 @@ POLYMERIZATION_TANK.recipeBuilder() .EUt(120) .buildAndRegister() -// Styrene - Isoprene rubber +MIXER.recipeBuilder() + .inputs(ore('dustPolyisoprene') * 8) + .inputs(ore('dustCarbonBlack') * 2) + .outputs(metaitem('dustCompoundedPolyisoprene') * 10) + .EUt(120) + .duration(250) + .buildAndRegister() + +// Styrene-Isoprene rubber MIXER.recipeBuilder() .fluidInputs(fluid('styrene') * 1000) @@ -274,7 +267,15 @@ DRYER.recipeBuilder() .duration(533) .buildAndRegister() -// Styrene - Butadiene rubber +MIXER.recipeBuilder() +.inputs(ore('dustRawStyreneIsopreneRubber') * 8) +.inputs(ore('dustCarbonBlack') * 2) +.outputs(metaitem('dustCompoundedStyreneIsopreneRubber') * 10) +.EUt(120) +.duration(250) +.buildAndRegister() + +// Styrene-Butadiene rubber SIFTER.recipeBuilder() .fluidInputs(fluid('ethanol_water_azeotrope') * 1000) @@ -308,4 +309,12 @@ DRYER.recipeBuilder() .outputs(metaitem('dustRawStyreneButadieneRubber') * 16) .EUt(120) .duration(533) +.buildAndRegister() + +MIXER.recipeBuilder() +.inputs(ore('dustRawStyreneButadieneRubber') * 8) +.inputs(ore('dustCarbonBlack') * 2) +.outputs(metaitem('dustCompoundedStyreneButadieneRubber') * 10) +.EUt(120) +.duration(250) .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/components/ElectronicCircuits.groovy b/groovy/postInit/components/ElectronicCircuits.groovy index b390ff89a..4ded23cf4 100644 --- a/groovy/postInit/components/ElectronicCircuits.groovy +++ b/groovy/postInit/components/ElectronicCircuits.groovy @@ -25,12 +25,25 @@ mods.gregtech.assembler.removeByInput(6, [metaitem('dustCharcoal'), metaitem('wi // Resistor * 4 mods.gregtech.assembler.removeByInput(6, [metaitem('dustCarbon'), metaitem('wireFineAnnealedCopper') * 4], [fluid('glue') * 100]) +// Electronic Circuit * 2 +mods.gregtech.circuit_assembler.removeByInput(16, [metaitem('circuit_board.basic'), metaitem('component.resistor') * 2, metaitem('wireGtSingleRedAlloy') * 2, metaitem('circuit.vacuum_tube') * 2], [fluid('tin') * 144]) +// Electronic Circuit * 2 +mods.gregtech.circuit_assembler.removeByInput(16, [metaitem('circuit_board.basic'), metaitem('component.resistor') * 2, metaitem('wireGtSingleRedAlloy') * 2, metaitem('circuit.vacuum_tube') * 2], [fluid('soldering_alloy') * 72]) + //Remove steel plates from electronic circuits since they were unnecessary crafting.replaceShaped("gregtech:electronic_circuit_lv", metaitem('circuit.electronic'), [ [metaitem('component.resistor'), ore('craftingToolWireCutter'), metaitem('component.resistor')], [metaitem('circuit.vacuum_tube'), metaitem('circuit_board.basic'), metaitem('circuit.vacuum_tube')], - [ore('cableGtSingleRedAlloy'), ore('cableGtSingleRedAlloy'), ore('cableGtSingleRedAlloy')]]) + [ore('wireGtSingleCopper'), ore('wireGtSingleCopper'), ore('wireGtSingleCopper')]]) + +mods.gregtech.circuit_assembler.recipeBuilder().EUt(16).duration(200) + .inputs(ore('circuitUlv') * 2) + .inputs(ore('componentResistor') * 2) + .inputs(metaitem('circuit_board.basic')) + .inputs(ore('wireGtSingleCopper') * 2) + .outputs(metaitem('circuit.electronic') * 2) + .buildAndRegister(); crafting.replaceShaped("gregtech:electronic_circuit_mv", metaitem('circuit.good_electronic'), [ [metaitem('component.diode'), ore('craftingToolWireCutter'), metaitem('component.diode')], @@ -149,3 +162,24 @@ mods.gregtech.assembler.recipeBuilder() .duration(400) .EUt(30) .buildAndRegister(); + +mods.gregtech.mixer.recipeBuilder() + .inputs(ore('dustInvar') * 15) + .inputs(ore('dustCobalt') * 3) + .outputs(metaitem('dustKovar') * 18) + .circuitMeta(2) + .duration(220) + .EUt(16) + .buildAndRegister(); + +// This is faster, and the previous recipe catches people not paying attention. :) + +mods.gregtech.mixer.recipeBuilder() + .inputs(ore('dustIron') * 10) + .inputs(ore('dustNickel') * 5) + .inputs(ore('dustCobalt') * 3) + .outputs(metaitem('dustKovar') * 18) + .circuitMeta(3) + .duration(800) + .EUt(16) + .buildAndRegister(); diff --git a/groovy/postInit/components/EtchablesChain.groovy b/groovy/postInit/components/EtchablesChain.groovy index b29049a5a..9b96193f4 100644 --- a/groovy/postInit/components/EtchablesChain.groovy +++ b/groovy/postInit/components/EtchablesChain.groovy @@ -317,9 +317,19 @@ def generateCuttingRecipes(input, product, productMultiplier, voltageTier, boole //NOVOLACS CSTR.recipeBuilder() - .fluidInputs(fluid('formaldehyde')*50) - .fluidInputs(fluid('phenol')*50) - .fluidOutputs(fluid('novolacs')*100) + .fluidInputs(fluid('formaldehyde') * 75) + .fluidInputs(fluid('ammonia_solution') * 50) + .fluidOutputs(fluid('hexamethylenetetramine_solution') * 50) + .duration(50) + .EUt(7) + .buildAndRegister() + +CSTR.recipeBuilder() + .fluidInputs(fluid('formaldehyde') * 50) + .fluidInputs(fluid('phenol') * 50) + .fluidInputs(fluid('hexamethylenetetramine_solution') * 5) + .notConsumable(fluid('sodium_hydroxide_solution') * 50) + .fluidOutputs(fluid('novolacs') * 100) .duration(10) .EUt(7) .buildAndRegister() @@ -332,7 +342,6 @@ for (ndopant in NDopant.ndopants) { .circuitMeta(1) .inputs(metaitem(ndopant.metaItemName)) .outputs(metaitem('wafer.n_doped.silicon') * 16 * ndopant.efficiency) - .cleanroom(CleanroomType.CLEANROOM) .duration(300) .EUt(60) .buildAndRegister() diff --git a/groovy/postInit/components/FieldGenerators.groovy b/groovy/postInit/components/FieldGenerators.groovy index ba63a91d9..6dac6c397 100644 --- a/groovy/postInit/components/FieldGenerators.groovy +++ b/groovy/postInit/components/FieldGenerators.groovy @@ -45,7 +45,6 @@ def cryoLiquids = [ 'liquid_krypton': 120, 'liquid_xenon': 165, 'liquid_nitrogen': 77, - 'liquid_refinery_gas': 80, 'liquid_natural_gas': 80 ]; diff --git a/groovy/postInit/components/IntegratedCircuits.groovy b/groovy/postInit/components/IntegratedCircuits.groovy index 48dff33ef..75008d0bd 100644 --- a/groovy/postInit/components/IntegratedCircuits.groovy +++ b/groovy/postInit/components/IntegratedCircuits.groovy @@ -1,12 +1,102 @@ -//Change transistor to use silicon wafer instead of silicon plate -// Transistor * 8 -mods.gregtech.assembler.removeByInput(120, [metaitem('plateSilicon'), metaitem('wireFineTin') * 6], [fluid('plastic') * 144]) - -mods.gregtech.assembler.recipeBuilder() - .inputs(ore('wireFineTin') * 6) - .inputs(metaitem('wafer.silicon')) - .fluidInputs(fluid('plastic') * 144) - .outputs(metaitem('component.transistor') * 8) - .duration(160) - .EUt(120) - .buildAndRegister() \ No newline at end of file +import classes.*; +import globals.Globals +import gregtech.api.metatileentity.multiblock.CleanroomType + +def ASSEMBLER = recipemap('assembler') +def VACUUM = recipemap('vacuum_chamber') +def CIRCUIT_ASSEMBLER = recipemap('circuit_assembler') + +mods.gregtech.circuit_assembler.removeByInput(16, [metaitem('circuit_board.basic'), metaitem('plate.integrated_logic_circuit'), metaitem('component.resistor') * 2, metaitem('component.diode') * 2, metaitem('wireFineCopper') * 2, metaitem('boltTin') * 2], [fluid('soldering_alloy') * 72]) + +// Microprocessor * 5 +mods.gregtech.circuit_assembler.removeByInput(60, [metaitem('circuit_board.plastic'), metaitem('plate.central_processing_unit'), metaitem('component.resistor') * 2, metaitem('component.capacitor') * 2, metaitem('component.transistor') * 2, metaitem('wireFineCopper') * 2], [fluid('tin') * 144 * 144]) +mods.gregtech.circuit_assembler.removeByInput(60, [metaitem('circuit_board.plastic'), metaitem('plate.central_processing_unit'), metaitem('component.resistor') * 2, metaitem('component.capacitor') * 2, metaitem('component.transistor') * 2, metaitem('wireFineCopper') * 2], [fluid('soldering_alloy') * 72 * 72]) + + +// Integrated Processor * 2 +mods.gregtech.circuit_assembler.removeByInput(60, [metaitem('circuit_board.plastic'), metaitem('plate.central_processing_unit'), metaitem('component.resistor') * 4, metaitem('component.capacitor') * 4, metaitem('component.transistor') * 4, metaitem('wireFineRedAlloy') * 4], [fluid('tin') * 144 * 144]) +mods.gregtech.circuit_assembler.removeByInput(60, [metaitem('circuit_board.plastic'), metaitem('plate.central_processing_unit'), metaitem('component.resistor') * 4, metaitem('component.capacitor') * 4, metaitem('component.transistor') * 4, metaitem('wireFineRedAlloy') * 4], [fluid('soldering_alloy') * 72 * 72]) + +// Processor Assembly * 1 +mods.gregtech.circuit_assembler.removeByInput(90, [metaitem('circuit_board.plastic'), metaitem('circuit.processor') * 2, metaitem('component.inductor') * 4, metaitem('component.capacitor') * 8, metaitem('plate.random_access_memory') * 4, metaitem('wireFineRedAlloy') * 8], [fluid('soldering_alloy') * 144 * 144]) +mods.gregtech.circuit_assembler.removeByInput(90, [metaitem('circuit_board.plastic'), metaitem('circuit.processor') * 2, metaitem('component.inductor') * 4, metaitem('component.capacitor') * 8, metaitem('plate.random_access_memory') * 4, metaitem('wireFineRedAlloy') * 8], [fluid('tin') * 288 * 288]) + +// Mainframe * 1 +mods.gregtech.circuit_assembler.removeByInput(480, [metaitem('frameAluminium') * 2, metaitem('circuit.workstation') * 2, metaitem('component.inductor') * 8, metaitem('component.capacitor') * 16, metaitem('plate.random_access_memory') * 16, metaitem('wireGtSingleAnnealedCopper') * 16], [fluid('soldering_alloy') * 288 * 288]) +mods.gregtech.circuit_assembler.removeByInput(480, [metaitem('frameAluminium') * 2, metaitem('circuit.workstation') * 2, metaitem('component.inductor') * 8, metaitem('component.capacitor') * 16, metaitem('plate.random_access_memory') * 16, metaitem('wireGtSingleAnnealedCopper') * 16], [fluid('tin') * 576 * 576]) +mods.gregtech.circuit_assembler.removeByInput(480, [metaitem('frameAluminium') * 2, metaitem('circuit.workstation') * 2, metaitem('component.advanced_smd.inductor') * 2, metaitem('component.advanced_smd.capacitor') * 4, metaitem('plate.random_access_memory') * 16, metaitem('wireGtSingleAnnealedCopper') * 16], [fluid('soldering_alloy') * 288 * 288]) +mods.gregtech.circuit_assembler.removeByInput(480, [metaitem('frameAluminium') * 2, metaitem('circuit.workstation') * 2, metaitem('component.advanced_smd.inductor') * 2, metaitem('component.advanced_smd.capacitor') * 4, metaitem('plate.random_access_memory') * 16, metaitem('wireGtSingleAnnealedCopper') * 16], [fluid('tin') * 576 * 576]) + +// Workstation * 1 +mods.gregtech.circuit_assembler.removeByInput(120, [metaitem('circuit_board.plastic'), metaitem('circuit.assembly') * 2, metaitem('component.diode') * 4, metaitem('plate.random_access_memory') * 4, metaitem('wireFineElectrum') * 16, metaitem('boltBlueAlloy') * 16], [fluid('soldering_alloy') * 144]) +mods.gregtech.circuit_assembler.removeByInput(120, [metaitem('circuit_board.plastic'), metaitem('circuit.assembly') * 2, metaitem('component.diode') * 4, metaitem('plate.random_access_memory') * 4, metaitem('wireFineElectrum') * 16, metaitem('boltBlueAlloy') * 16], [fluid('tin') * 288]) + + +Globals.solders.each { key, val -> + CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(metaitem('circuit_board.plastic')) + .inputs(metaitem('plate.integrated_logic_circuit')) + .inputs(metaitem('component.smd.resistor') * 2) + .inputs(metaitem('component.smd.diode') * 2) + .inputs(metaitem('wireFineCopper') * 2) + .inputs(metaitem('boltTin') * 2) + .fluidInputs(fluid(key) * val) + .outputs(metaitem('circuit.microprocessor') * 5) + .duration(200) + .EUt(240) + .buildAndRegister() + + CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(metaitem('circuit_board.plastic')) + .inputs(metaitem('plate.integrated_logic_circuit')) + .inputs(metaitem('component.smd.resistor') * 4) + .inputs(metaitem('component.smd.capacitor') * 4) + .inputs(metaitem('component.smd.transistor') * 4) + .inputs(metaitem('wireFineAnnealedCopper') * 4) + .fluidInputs(fluid(key) * val) + .outputs(metaitem('circuit.processor') * 2) + .duration(200) + .EUt(240) + .buildAndRegister() + + CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(metaitem('circuit.processor') * 2) + .inputs(metaitem('plate.integrated_logic_circuit') * 2) + .inputs(metaitem('plate.random_access_memory') * 2) + .inputs(metaitem('component.smd.transistor') * 4) + .inputs(metaitem('wireFineElectrum') * 8) + .inputs(metaitem('boltAnnealedCopper') * 8) + .fluidInputs(fluid(key) * (val * 2)) + .outputs(metaitem('circuit.assembly') * 1) + .duration(300) + .EUt(360) + .buildAndRegister() + + CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(metaitem('frameAluminium')) + .inputs(metaitem('circuit.assembly') * 2) + .inputs(ore('componentDiode') * 4) + .inputs(metaitem('plate.random_access_memory') * 4) + .inputs(metaitem('plate.central_processing_unit') * 4) + .inputs(ore('cableGtSingleElectrum') * 4) + .fluidInputs(fluid(key) * (val * 2)) + .outputs(metaitem('circuit.workstation')) + .cleanroom(CleanroomType.CLEANROOM) + .duration(400) + .EUt(480) + .buildAndRegister(); + + CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(metaitem('frameAluminium') * 2) + .inputs(metaitem('circuit.workstation') * 2) + .inputs(metaitem('component.smd.inductor') * 8) + .inputs(metaitem('component.smd.capacitor') * 16) + .inputs(metaitem('plate.nand_memory_chip') * 16) + .inputs(metaitem('wireGtSingleAnnealedCopper') * 16) + .fluidInputs(fluid(key) * (val * 4)) + .outputs(metaitem('circuit.mainframe')) + .duration(500) + .EUt(480) + .buildAndRegister(); + +} diff --git a/groovy/postInit/components/OpAmpCircuits.groovy b/groovy/postInit/components/OpAmpCircuits.groovy new file mode 100644 index 000000000..5e77b5068 --- /dev/null +++ b/groovy/postInit/components/OpAmpCircuits.groovy @@ -0,0 +1,244 @@ +def ASSEMBLER = recipemap('assembler') +def VACUUM = recipemap('vacuum_chamber') +def CIRCUIT_ASSEMBLER = recipemap('circuit_assembler') + +//Change transistor to use silicon wafer instead of silicon plate +// Transistor * 8 +mods.gregtech.assembler.removeByInput(120, [metaitem('plateSilicon'), metaitem('wireFineTin') * 6], [fluid('plastic') * 144]) + +ASSEMBLER.recipeBuilder() + .inputs(ore('wireFineTin') * 6) + .inputs(metaitem('wafer.silicon')) + .fluidInputs(fluid('plastic') * 144) + .outputs(metaitem('component.transistor') * 8) + .duration(160) + .EUt(120) + .buildAndRegister() + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(ore('wireFineGold') * 6) + .inputs(ore('componentCapacitor')) + .inputs(ore('componentResistor') * 2) + .inputs(ore('componentTransistor') * 4) + .inputs(ore('componentDiode') * 2) + .inputs(metaitem('board.phenolic')) + .fluidInputs(fluid('soldering_alloy') * 72) + .outputs(metaitem('op_amp')) + .duration(100) + .EUt(30) + .buildAndRegister() + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(ore('wireFineGold') * 6) + .inputs(ore('componentCapacitor')) + .inputs(ore('componentResistor') * 2) + .inputs(ore('componentTransistor') * 4) + .inputs(ore('componentDiode') * 2) + .inputs(metaitem('board.phenolic')) + .fluidInputs(fluid('tin') * 144) + .outputs(metaitem('op_amp')) + .duration(100) + .EUt(30) + .buildAndRegister() + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(ore('wireFineGold') * 3) + .inputs(ore('componentCapacitor')) + .inputs(ore('componentResistor') * 2) + .inputs(ore('componentTransistor') * 4) + .inputs(ore('componentDiode') * 2) + .inputs(ore('foilEpoxyCresolNovolacs')) + .fluidInputs(fluid('silicone_rubber') * 72) + .outputs(metaitem('op_amp') * 4) + .duration(100) + .EUt(30) + .buildAndRegister() + +ASSEMBLER.recipeBuilder() + .inputs(ore('plateAluminium') * 2) + .circuitMeta(5) + .fluidInputs(fluid('soldering_alloy') * 72) + .outputs(metaitem('heat_sink')) + .duration(200) + .EUt(30) + .buildAndRegister() + +ASSEMBLER.recipeBuilder() + .inputs(ore('wireFineAnnealedCopper') * 4) + .inputs(metaitem('wafer.n_doped.silicon')) + .fluidInputs(fluid('plastic') * 144) + .outputs(metaitem('zener_diode') * 16) + .duration(300) + .EUt(30) + .buildAndRegister() + +ASSEMBLER.recipeBuilder() + .inputs(ore('dustAcidWashedSiliconDioxide')) + .inputs(ore('wireFineSilver')) + .inputs(ore('wireFineAnnealedCopper') * 2) + .fluidInputs(fluid('plastic') * 36) + .outputs(metaitem('fuse.hv')) + .duration(100) + .EUt(30) + .buildAndRegister() + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(ore('componentCapacitor') * 2) + .inputs(ore('componentTransistor') * 4) + .inputs(ore('wireFineGold') * 6) + .inputs(ore('componentResistor') * 6) + .inputs(metaitem('protector_chip')) + .inputs(metaitem('board.plastic')) + .fluidInputs(fluid('soldering_alloy') * 72) + .outputs(metaitem('voltage_regulator.hv.unsealed')) + .duration(400) + .EUt(30) + .buildAndRegister() + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(ore('componentCapacitor') * 2) + .inputs(ore('componentTransistor') * 4) + .inputs(ore('wireFineGold') * 6) + .inputs(ore('componentResistor') * 6) + .inputs(metaitem('protector_chip')) + .inputs(metaitem('board.plastic')) + .fluidInputs(fluid('tin') * 144) + .outputs(metaitem('voltage_regulator.hv.unsealed')) + .duration(400) + .EUt(30) + .buildAndRegister() + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(ore('componentCapacitor') * 2) + .inputs(ore('componentTransistor') * 4) + .inputs(ore('wireFineGold') * 3) + .inputs(ore('componentResistor') * 6) + .inputs(metaitem('protector_chip')) + .inputs(ore('plateEpoxyCresolNovolacs')) + .fluidInputs(fluid('silicone_rubber') * 72) + .outputs(metaitem('voltage_regulator.hv.unsealed') * 2) + .duration(400) + .EUt(30) + .buildAndRegister() + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(ore('componentTransistor') * 2) + .inputs(metaitem("op_amp")) + .inputs(ore('wireFineGold') * 2) + .inputs(metaitem('zener_diode')) + .inputs(metaitem('circuit_board.good')) + .fluidInputs(fluid('soldering_alloy') * 72) + .outputs(metaitem('voltage_regulator.mv')) + .duration(400) + .EUt(30) + .buildAndRegister() + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(ore('componentTransistor') * 2) + .inputs(metaitem("op_amp")) + .inputs(ore('wireFineGold') * 2) + .inputs(metaitem('zener_diode')) + .inputs(metaitem('circuit_board.good')) + .fluidInputs(fluid('tin') * 144) + .outputs(metaitem('voltage_regulator.mv')) + .duration(400) + .EUt(30) + .buildAndRegister() + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(ore('componentTransistor') * 2) + .inputs(metaitem("op_amp")) + .inputs(ore('wireFineGold') * 2) + .inputs(metaitem('zener_diode')) + .inputs(ore('plateEpoxyCresolNovolacs')) + .fluidInputs(fluid('silicone_rubber') * 144) + .outputs(metaitem('voltage_regulator.mv') * 2) + .duration(400) + .EUt(30) + .buildAndRegister() + +VACUUM.recipeBuilder() + .inputs(metaitem('voltage_regulator.hv.unsealed')) + .inputs(ore('wireFineAluminium') * 4) + .fluidInputs(fluid('plastic') * 144) + .outputs(metaitem('voltage_regulator.hv')) + .duration(200) + .EUt(64) + .buildAndRegister() + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(ore('wireFineAluminium') * 2) + .inputs(metaitem('heat_sink') * 2) + .inputs(ore('componentCapacitor') * 2) + .inputs(metaitem('fuse.hv')) + .inputs(metaitem('zener_diode')) + .inputs(metaitem('circuit_board.good')) + .fluidInputs(fluid('soldering_alloy') * 72) + .outputs(metaitem('protector_chip')) + .duration(400) + .EUt(30) + .buildAndRegister() + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(ore('wireFineAluminium') * 2) + .inputs(metaitem('heat_sink') * 2) + .inputs(ore('componentCapacitor') * 2) + .inputs(metaitem('fuse.hv')) + .inputs(metaitem('zener_diode')) + .inputs(metaitem('circuit_board.good')) + .fluidInputs(fluid('tin') * 144) + .outputs(metaitem('protector_chip')) + .duration(400) + .EUt(30) + .buildAndRegister() + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(ore('wireFineAluminium') * 2) + .inputs(metaitem('heat_sink') * 1) + .inputs(ore('componentCapacitor') * 2) + .inputs(metaitem('fuse.hv')) + .inputs(metaitem('zener_diode')) + .fluidInputs(fluid('silicone_rubber') * 72) + .outputs(metaitem('protector_chip')) + .duration(400) + .EUt(30) + .buildAndRegister() + +// Integrated Logic Circuit * 2 +mods.gregtech.circuit_assembler.removeByInput(16, [metaitem('circuit_board.basic'), metaitem('plate.integrated_logic_circuit'), metaitem('component.resistor') * 2, metaitem('component.diode') * 2, metaitem('wireFineCopper') * 2, metaitem('boltTin') * 2], [fluid('tin') * 144]) + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(metaitem('circuit_board.basic'), metaitem('component.resistor') * 2, metaitem('component.diode') * 2, metaitem('wireFineCopper') * 2, metaitem('boltTin') * 2) + .inputs(metaitem('op_amp')) + .fluidInputs(fluid('soldering_alloy') * 72) + .outputs(metaitem('circuit.basic_integrated') * 6) + .duration(200) + .EUt(16) + .buildAndRegister() + +// Good Integrated Circuit * 2 +mods.gregtech.circuit_assembler.removeByInput(24, [metaitem('circuit_board.good'), metaitem('circuit.basic_integrated') * 2, metaitem('component.resistor') * 2, metaitem('component.diode') * 2, metaitem('wireFineGold') * 4, metaitem('boltSilver') * 4], [fluid('soldering_alloy') * 72]) +mods.gregtech.circuit_assembler.removeByInput(24, [metaitem('circuit_board.good'), metaitem('circuit.basic_integrated') * 2, metaitem('component.resistor') * 2, metaitem('component.diode') * 2, metaitem('wireFineGold') * 4, metaitem('boltSilver') * 4], [fluid('tin') * 144]) + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(metaitem('circuit.basic_integrated') * 2, metaitem('component.resistor') * 2, metaitem('component.diode') * 2, metaitem('wireFineAnnealedCopper') * 4) + .inputs(metaitem('voltage_regulator.mv')) + .fluidInputs(fluid('soldering_alloy') * 72) + .outputs(metaitem('circuit.good_integrated') * 2) + .duration(400) + .EUt(24) + .buildAndRegister() + +// Advanced Integrated Circuit * 1 +mods.gregtech.circuit_assembler.removeByInput(30, [metaitem('circuit.good_integrated') * 2, metaitem('plate.integrated_logic_circuit') * 2, metaitem('plate.random_access_memory') * 2, metaitem('component.transistor') * 4, metaitem('wireFineElectrum') * 8, metaitem('boltAnnealedCopper') * 8], [fluid('soldering_alloy') * 72]) +mods.gregtech.circuit_assembler.removeByInput(30, [metaitem('circuit.good_integrated') * 2, metaitem('plate.integrated_logic_circuit') * 2, metaitem('plate.random_access_memory') * 2, metaitem('component.transistor') * 4, metaitem('wireFineElectrum') * 8, metaitem('boltAnnealedCopper') * 8], [fluid('tin') * 144]) + + +CIRCUIT_ASSEMBLER.recipeBuilder() + .inputs(metaitem('circuit.good_integrated') * 2, metaitem('component.inductor') * 2, metaitem('component.diode') * 2, metaitem('boltElectrum') * 8) + .inputs(metaitem('voltage_regulator.hv')) + .fluidInputs(fluid('soldering_alloy') * 72) + .outputs(metaitem('circuit.advanced_integrated') * 2) + .duration(800) + .EUt(30) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/components/ProcessorCircuits.groovy b/groovy/postInit/components/ProcessorCircuits.groovy deleted file mode 100644 index e7d38adca..000000000 --- a/groovy/postInit/components/ProcessorCircuits.groovy +++ /dev/null @@ -1,24 +0,0 @@ -import classes.*; -import globals.Globals -import gregtech.api.metatileentity.multiblock.CleanroomType - -// Workstation * 1 -mods.gregtech.circuit_assembler.removeByInput(120, [metaitem('circuit_board.plastic'), metaitem('circuit.assembly') * 2, metaitem('component.diode') * 4, metaitem('plate.random_access_memory') * 4, metaitem('wireFineElectrum') * 16, metaitem('boltBlueAlloy') * 16], [fluid('soldering_alloy') * 144]) -// Workstation * 1 -mods.gregtech.circuit_assembler.removeByInput(120, [metaitem('circuit_board.plastic'), metaitem('circuit.assembly') * 2, metaitem('component.diode') * 4, metaitem('plate.random_access_memory') * 4, metaitem('wireFineElectrum') * 16, metaitem('boltBlueAlloy') * 16], [fluid('tin') * 288]) - -Globals.solders.each { key, val -> - recipemap('circuit_assembler').recipeBuilder() - .inputs(metaitem('frameAluminium')) - .inputs(metaitem('circuit.assembly') * 2) - .inputs(ore('componentDiode') * 4) - .inputs(metaitem('plate.random_access_memory') * 4) - .inputs(metaitem('plate.nand_memory_chip') * 4) - .inputs(ore('cableGtSingleElectrum') * 4) - .fluidInputs(fluid(key) * val) - .outputs(metaitem('circuit.workstation')) - .cleanroom(CleanroomType.CLEANROOM) - .duration(250) - .EUt(120) - .buildAndRegister(); -} diff --git a/groovy/postInit/components/Superconductors.groovy b/groovy/postInit/components/Superconductors.groovy index fdb2058f8..307227fe5 100644 --- a/groovy/postInit/components/Superconductors.groovy +++ b/groovy/postInit/components/Superconductors.groovy @@ -326,7 +326,6 @@ for (def i = 0; i < 9; i++) { 'liquid_krypton': 120, 'liquid_xenon': 165, 'liquid_nitrogen': 77, - 'liquid_refinery_gas': 80, 'liquid_natural_gas': 80 ]; diff --git a/groovy/postInit/components/VacuumComponents.groovy b/groovy/postInit/components/VacuumComponents.groovy index b824ccb67..1fef3018d 100644 --- a/groovy/postInit/components/VacuumComponents.groovy +++ b/groovy/postInit/components/VacuumComponents.groovy @@ -20,25 +20,56 @@ mods.gregtech.assembler.removeByInput(7, [metaitem('component.glass.tube'), meta crafting.addShaped("vacuum_tube_components", metaitem('vacuum_tube_components') * 4, [ - [null, metaitem('wireFineRedAlloy'), null], - [metaitem('wireGtSingleCopper'), metaitem('ringSteel'), metaitem('wireGtSingleCopper')], + [null, metaitem('wireFineCupronickel'), null], + [metaitem('plateNickel'), metaitem('ringSteel'), metaitem('foilNickel')], [null, metaitem('boltSteel'), null] ]) -crafting.addShaped("vacuum_tube_components_annealed", metaitem('vacuum_tube_components') * 6, [ - [null, metaitem('wireFineRedAlloy'), null], - [metaitem('wireGtSingleAnnealedCopper'), metaitem('ringSteel'), metaitem('wireGtSingleAnnealedCopper')], +crafting.addShaped("vacuum_tube_components_oxide", metaitem('vacuum_tube_components') * 6, [ + [null, metaitem('wireFineCupronickel'), metaitem('dustSmallQuicklime')], + [metaitem('plateNickel'), metaitem('ringSteel'), metaitem('foilNickel')], [null, metaitem('boltSteel'), null] ]) + def ASSEMBLER_RECIPES = recipemap('assembler') def VACUUM_RECIPES = recipemap('vacuum_chamber') VACUUM_RECIPES.recipeBuilder() .inputs(metaitem('component.glass.tube')) .inputs(metaitem('vacuum_tube_components')) -.inputs(ore('ringSteel')) +.inputs(ore('ringKovar')) .outputs(metaitem('circuit.vacuum_tube')) .EUt(7) .duration(200) -.buildAndRegister() \ No newline at end of file +.buildAndRegister() + +ASSEMBLER_RECIPES.recipeBuilder() + .inputs(metaitem('wireFineCupronickel')) + .inputs(metaitem('foilNickel') * 2) + .inputs(metaitem('boltSteel') * 4) + .inputs(metaitem('dustSmallQuicklime')) + .outputs(metaitem('vacuum_tube_components') * 8) + .EUt(16) + .duration(400) + .buildAndRegister() + +ASSEMBLER_RECIPES.recipeBuilder() + .inputs(metaitem('wireFineTungsten')) + .inputs(metaitem('foilNickel') * 2) + .inputs(metaitem('boltSteel') * 4) + .inputs(metaitem('dustSmallQuicklime')) + .outputs(metaitem('vacuum_tube_components') * 12) + .EUt(16) + .duration(400) + .buildAndRegister() + +ASSEMBLER_RECIPES.recipeBuilder() + .inputs(metaitem('wireFineTungsten')) + .inputs(metaitem('foilMolybdenum') * 2) + .inputs(metaitem('boltSteel') * 4) + .inputs(metaitem('dustSmallQuicklime')) + .outputs(metaitem('vacuum_tube_components') * 16) + .EUt(16) + .duration(400) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/metallurgy/Superalloys.groovy b/groovy/postInit/metallurgy/Superalloys.groovy index 1488dfaec..28c904bbd 100644 --- a/groovy/postInit/metallurgy/Superalloys.groovy +++ b/groovy/postInit/metallurgy/Superalloys.groovy @@ -108,7 +108,7 @@ ABS.recipeBuilder() .buildAndRegister() ABS.recipeBuilder() - .circuitMeta(4) + .circuitMeta(16) .inputs(ore('dustIron') * 39) .inputs(ore('dustManganese') * 1) .fluidOutputs(fluid('hsla_eighty_x') * 5760) diff --git a/groovy/postInit/mod/GregTech.groovy b/groovy/postInit/mod/GregTech.groovy index 2554487e6..306f1a514 100644 --- a/groovy/postInit/mod/GregTech.groovy +++ b/groovy/postInit/mod/GregTech.groovy @@ -109,6 +109,12 @@ def name_removals = [ 'gregtech:quantum_tank_zpm', 'gregtech:quantum_tank_uv', 'gregtech:quantum_tank_uhv', + 'gregtech:large_combustion_engine', + 'gregtech:extreme_combustion_engine', + 'gregtech:gregtech.machine.fisher.lv', + 'gregtech:gregtech.machine.fisher.mv', + 'gregtech:gregtech.machine.fisher.hv', + 'gregtech:gregtech.machine.fisher.ev' ] for (name in name_removals) { @@ -1124,7 +1130,6 @@ CENTRIFUGE.recipeBuilder() // Fix distillation tower being too difficult (4 EV circuits? Seriously?) - RecyclingHelper.replaceShaped('gregtech:distillation_tower', metaitem('distillation_tower'), [ [ore('circuitHv'), metaitem('pipeLargeFluidStainlessSteel'), ore('circuitHv')], [metaitem('electric.pump.hv'), metaitem('hull.mv'), metaitem('electric.pump.hv')], @@ -1234,40 +1239,35 @@ mods.gregtech.circuit_assembler.removeByInput(120, [metaitem('circuit_board.good mods.gregtech.circuit_assembler.removeByInput(120, [metaitem('circuit_board.plastic'), metaitem('plate.simple_system_on_chip'), metaitem('boltRedAlloy') * 2, metaitem('wireFineTin') * 2], [fluid('soldering_alloy') * 72]) // NAND Chip * 12 mods.gregtech.circuit_assembler.removeByInput(120, [metaitem('circuit_board.plastic'), metaitem('plate.simple_system_on_chip'), metaitem('boltRedAlloy') * 2, metaitem('wireFineTin') * 2], [fluid('tin') * 144]) - -// Microprocessor * 3 -mods.gregtech.circuit_assembler.removeByInput(60, [metaitem('circuit_board.plastic'), metaitem('plate.central_processing_unit'), metaitem('component.resistor') * 2, metaitem('component.capacitor') * 2, metaitem('component.transistor') * 2, metaitem('wireFineCopper') * 2], [fluid('soldering_alloy') * 72]) -// Microprocessor * 3 -mods.gregtech.circuit_assembler.removeByInput(60, [metaitem('circuit_board.plastic'), metaitem('plate.central_processing_unit'), metaitem('component.resistor') * 2, metaitem('component.capacitor') * 2, metaitem('component.transistor') * 2, metaitem('wireFineCopper') * 2], [fluid('tin') * 144]) // Microprocessor * 6 mods.gregtech.circuit_assembler.removeByInput(600, [metaitem('circuit_board.plastic'), metaitem('plate.system_on_chip'), metaitem('wireFineCopper') * 2, metaitem('boltTin') * 2], [fluid('soldering_alloy') * 72]) // Microprocessor * 6 mods.gregtech.circuit_assembler.removeByInput(600, [metaitem('circuit_board.plastic'), metaitem('plate.system_on_chip'), metaitem('wireFineCopper') * 2, metaitem('boltTin') * 2], [fluid('tin') * 144]) - + Globals.solders.each { key, val -> - mods.gregtech.assembler.recipeBuilder() - .inputs(metaitem('circuit_board.good')) - .inputs(metaitem('plate.integrated_logic_circuit')) - .inputs(ore('boltRedAlloy') * 2) - .inputs(ore('wireFineTin') * 2) - .fluidInputs(fluid(key) * val) - .outputs(metaitem('circuit.nand_chip') * 16) - .duration(10) - .EUt(16) - .buildAndRegister(); + mods.gregtech.circuit_assembler.recipeBuilder() + .inputs(metaitem('circuit_board.good')) + .inputs(metaitem('plate.integrated_logic_circuit')) + .inputs(ore('boltRedAlloy') * 2) + .inputs(ore('wireFineTin') * 2) + .fluidInputs(fluid(key) * val) + .outputs(metaitem('circuit.nand_chip') * 16) + .duration(10) + .EUt(16) + .buildAndRegister(); } Globals.solders.each { key, val -> - mods.gregtech.assembler.recipeBuilder() - .inputs(metaitem('circuit_board.plastic')) - .inputs(metaitem('plate.integrated_logic_circuit')) - .inputs(ore('boltRedAlloy') * 2) - .inputs(ore('wireFineTin') * 2) - .fluidInputs(fluid(key) * val) - .outputs(metaitem('circuit.nand_chip') * 24) - .duration(10) - .EUt(16) - .buildAndRegister(); + mods.gregtech.circuit_assembler.recipeBuilder() + .inputs(metaitem('circuit_board.plastic')) + .inputs(metaitem('plate.integrated_logic_circuit')) + .inputs(ore('boltRedAlloy') * 2) + .inputs(ore('wireFineTin') * 2) + .fluidInputs(fluid(key) * val) + .outputs(metaitem('circuit.nand_chip') * 24) + .duration(10) + .EUt(16) + .buildAndRegister(); } Globals.solders.each { key, val -> @@ -1279,7 +1279,7 @@ Globals.solders.each { key, val -> .inputs(ore('componentTransistor') * 2) .inputs(ore('wireFineCopper') * 2) .fluidInputs(fluid(key) * val) - .outputs(metaitem('circuit.microprocessor') * 5) + .outputs(metaitem('circuit.microprocessor') * 8) .duration(200) .EUt(60) .buildAndRegister(); @@ -1292,7 +1292,7 @@ Globals.solders.each { key, val -> .inputs(ore('wireFineCopper') * 2) .inputs(ore('boltTin') * 2) .fluidInputs(fluid(key) * val) - .outputs(metaitem('circuit.microprocessor') * 10) + .outputs(metaitem('circuit.microprocessor') * 12) .duration(50) .EUt(600) .buildAndRegister(); @@ -1334,13 +1334,6 @@ mods.gregtech.centrifuge.recipeBuilder() mods.gregtech.semi_fluid_generator.removeByInput(32, null, [fluid('sulfuric_heavy_fuel') * 16]) mods.gregtech.semi_fluid_generator.removeByInput(32, null, [fluid('heavy_fuel') * 8]) - -mods.gregtech.semi_fluid_generator.recipeBuilder() - .fluidInputs(fluid('sulfuric_diesel') * 16) - .duration(5) - .EUt(-32) - .buildAndRegister(); - mods.gregtech.semi_fluid_generator.recipeBuilder() .fluidInputs(fluid('diesel') * 8) .duration(15) @@ -1348,29 +1341,17 @@ mods.gregtech.semi_fluid_generator.recipeBuilder() .buildAndRegister(); mods.gregtech.semi_fluid_generator.recipeBuilder() - .fluidInputs(fluid('sulfuric_fuel_oil') * 16) + .fluidInputs(fluid('sulfuric_heavy_gas_oil') * 16) .duration(7) .EUt(-32) .buildAndRegister(); mods.gregtech.semi_fluid_generator.recipeBuilder() - .fluidInputs(fluid('fuel_oil') * 8) + .fluidInputs(fluid('heavy_gas_oil') * 8) .duration(21) .EUt(-32) .buildAndRegister(); - -mods.gregtech.semi_fluid_generator.recipeBuilder() - .fluidInputs(fluid('sulfuric_refinery_gas') * 16) - .duration(4) - .EUt(-32) - .buildAndRegister(); - -mods.gregtech.semi_fluid_generator.recipeBuilder() - .fluidInputs(fluid('refinery_gas') * 8) - .duration(12) - .EUt(-32) - .buildAndRegister(); - + mods.gregtech.semi_fluid_generator.recipeBuilder() .fluidInputs(fluid('sulfuric_natural_gas') * 16) .duration(4) @@ -1611,3 +1592,64 @@ crafting.addShaped('gregtech:electric_jetpack_advanced2', metaitem('advanced_ele [metaitem('power_thruster_advanced'), metaitem('battery.re.hv.cadmium'), metaitem('power_thruster_advanced')], [metaitem('wireGtQuadrupleGold'), ore('circuitHv'), metaitem('wireGtQuadrupleGold')] ]) + +// MV Alternate Energy Handling +crafting.addShaped('gregtech:energy_hatch.mv2', item('gregtech:machine', 1212), [ + [null, metaitem('voltage_coil.mv'), null], + [ore('cableGtSingleCopper'), item('gregtech:machine', 987), ore('cableGtSingleCopper')], + [null, metaitem('voltage_regulator.mv'), null] +]) + +mods.gregtech.assembler.recipeBuilder() + .inputs(metaitem('hull.mv')) + .inputs(ore('cableGtSingleCopper') * 2) + .inputs(metaitem('voltage_regulator.mv')) + .inputs(metaitem('voltage_coil.mv')) + .outputs(metaitem('energy_hatch.input.mv')) + .duration(200) + .EUt(30) + .buildAndRegister() + +crafting.addShaped('gregtech:dynamo_hatch.mv2', item('gregtech:machine', 1227), [ + [null, metaitem('voltage_coil.mv'), null], + [ore('springCopper'), item('gregtech:machine', 987), ore('springCopper')], + [null, metaitem('voltage_regulator.mv'), null] +]) + +mods.gregtech.assembler.recipeBuilder() + .inputs(metaitem('hull.mv')) + .inputs(ore('springCopper') * 2) + .inputs(metaitem('voltage_regulator.mv')) + .inputs(metaitem('voltage_coil.mv')) + .outputs(metaitem('energy_hatch.output.mv')) + .duration(200) + .EUt(30) + .buildAndRegister() + +crafting.addShaped('gregtech:transformer.mv2', item('gregtech:machine', 1272), [ + [metaitem('voltage_regulator.mv'), ore('cableGtSingleCopper'), ore('cableGtSingleCopper')], + [ore('cableGtSingleGold'), item('gregtech:machine', 987), null], + [metaitem('voltage_regulator.mv'), ore('cableGtSingleCopper'), ore('cableGtSingleCopper')] +]) + +mods.gregtech.assembler.recipeBuilder() + .inputs(metaitem('transformer.mv')) + .inputs(metaitem('energy_hatch.output.mv')) + .inputs(metaitem('voltage_regulator.mv')) + .inputs(metaitem('voltage_coil.mv')) + .inputs(ore('cableGtQuadrupleCopper') * 2) + .outputs(metaitem('energy_hatch.output_4a.mv')) + .duration(200) + .EUt(30) + .buildAndRegister() + +mods.gregtech.assembler.recipeBuilder() + .inputs(metaitem('transformer.adjustable.mv')) + .inputs(metaitem('energy_hatch.output_4a.mv')) + .inputs(metaitem('voltage_regulator.mv') * 2) + .inputs(metaitem('voltage_coil.mv')) + .inputs(ore('cableGtOctalCopper') * 2) + .outputs(metaitem('energy_hatch.output_16a.mv')) + .duration(200) + .EUt(30) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/mod/ICBM.groovy b/groovy/postInit/mod/ICBM.groovy old mode 100755 new mode 100644 index 570da7854..43ae52490 --- a/groovy/postInit/mod/ICBM.groovy +++ b/groovy/postInit/mod/ICBM.groovy @@ -270,16 +270,15 @@ WEAPON_FACTORY.recipeBuilder() def HV_SC_CriticalTemp = 80; def cryoLiquids = [ - 'liquid_hydrogen': 14, - 'liquid_oxygen': 90, - 'liquid_helium': 4, - 'liquid_neon': 27, - 'liquid_argon': 87, - 'liquid_krypton': 120, - 'liquid_xenon': 165, - 'liquid_nitrogen': 77, - 'liquid_refinery_gas': 80, - 'liquid_natural_gas': 80 + 'liquid_hydrogen': 14, + 'liquid_oxygen': 90, + 'liquid_helium': 4, + 'liquid_neon': 27, + 'liquid_argon': 87, + 'liquid_krypton': 120, + 'liquid_xenon': 165, + 'liquid_nitrogen': 77, + 'liquid_natural_gas': 80 ]; Globals.solders.each { key, val -> diff --git a/groovy/postInit/mod/MachineRecipes.groovy b/groovy/postInit/mod/MachineRecipes.groovy index 3b913b455..0bb6a9c16 100755 --- a/groovy/postInit/mod/MachineRecipes.groovy +++ b/groovy/postInit/mod/MachineRecipes.groovy @@ -45,7 +45,7 @@ for (i = 1; i <= 13; i++) { metaitem('chemical_reactor.' + Globals.voltageTiers[i]) ) } -for (i = 1; i <= 9; i++) { +for (i = 1; i <= 8; i++) { mods.jei.ingredient.yeet( metaitem('world_accelerator.' + Globals.voltageTiers[i]) ) @@ -1063,12 +1063,12 @@ recipemap('assembler').recipeBuilder() //Catalytic Reformer recipemap('assembler').recipeBuilder() - .inputs(metaitem('hull.ev')) - .inputs(metaitem('frameTitanium') * 4) - .inputs(metaitem('electric.pump.ev') * 2) - .inputs(metaitem('pipeHugeFluidTitanium')) - .inputs(metaitem('rotorTitanium')) - .inputs(ore('circuitEv')) + .inputs(metaitem('hull.hv')) + .inputs(metaitem('frameStainlessSteel') * 4) + .inputs(metaitem('electric.pump.hv') * 2) + .inputs(metaitem('pipeHugeFluidStainlessSteel')) + .inputs(metaitem('rotorStainlessSteel')) + .inputs(ore('circuitHv')) .outputs(metaitem('catalytic_reformer')) .circuitMeta(3) .EUt(480) @@ -1195,4 +1195,10 @@ RecyclingHelper.addShaped('gregtech:large_fluid_pump', metaitem('large_fluid_pum [metaitem('rotorBronze'), ore('circuitLv'), metaitem('rotorBronze')] ]) -crafting.addShapeless("gregtech:ocean_pumper_switching", metaitem('large_fluid_pump'), [metaitem('ocean_pumper')]); \ No newline at end of file +crafting.addShapeless("gregtech:ocean_pumper_switching", metaitem('large_fluid_pump'), [metaitem('ocean_pumper')]); + +RecyclingHelper.addShaped("gregtech:sieve_distillation_tower", metaitem('sieve_distillation_tower'), [ + [metaitem('frameStainlessSteel'),ore('circuitHv'),metaitem('frameStainlessSteel')], + [metaitem('springKanthal'),metaitem('hull.Hv'),metaitem('springKanthal')], + [metaitem('frameStainlessSteel'),metaitem('electric.pump.hv'),metaitem('frameStainlessSteel')] +]) \ No newline at end of file diff --git a/groovy/preInit/RegisterMetaItems.groovy b/groovy/preInit/RegisterMetaItems.groovy index f30b11912..113a65848 100644 --- a/groovy/preInit/RegisterMetaItems.groovy +++ b/groovy/preInit/RegisterMetaItems.groovy @@ -46,7 +46,7 @@ eventManager.listen { customMetaItems.addItem(155, "sugar_cane_dust"); customMetaItems.addItem(156, "bitumen"); - customMetaItems.addItem(157, "bituminous_residue"); + customMetaItems.addItem(157, "hydrocracking_catalyst") customMetaItems.addItem(158, "paraffin_wax"); customMetaItems.addItem(159, "spent_cracking_catalyst"); @@ -239,6 +239,16 @@ eventManager.listen { customMetaItems.addItem(5305, "etched.silicon_dioxide"); customMetaItems.addItem(5306, "etched.polysilicon"); customMetaItems.addItem(5307, "etched.silicon_nitride"); + + //Good Circuit Components 5900-6000 + customMetaItems.addItem(5900, "op_amp"); + customMetaItems.addItem(5901, "heat_sink"); + customMetaItems.addItem(5902, "protector_chip"); + customMetaItems.addItem(5903, "zener_diode"); + customMetaItems.addItem(5904, "fuse.hv"); + customMetaItems.addItem(5905, "voltage_regulator.hv.unsealed"); + customMetaItems.addItem(5906, "voltage_regulator.mv"); + customMetaItems.addItem(5907, "voltage_regulator.hv"); //Light Sources 6000-6100 customMetaItems.addItem(6000, "carbon_arc_lamp"); @@ -341,4 +351,4 @@ eventManager.listen { customMetaItems.addItem(10002, "tunnelbore.drillhead") log.infoMC("Finished adding metaitems") -} \ No newline at end of file +} diff --git a/groovy/prePostInit/Thermodynamics.groovy b/groovy/prePostInit/Thermodynamics.groovy index 7dd012b5b..6d4a24726 100755 --- a/groovy/prePostInit/Thermodynamics.groovy +++ b/groovy/prePostInit/Thermodynamics.groovy @@ -11,7 +11,6 @@ mods.gregtech.steam_turbine.removeByInput(32, null, [fluid('steam') * 640]) mods.gregtech.gas_turbine.removeByInput(32, null, [fluid('coal_gas')]) mods.gregtech.gas_turbine.removeByInput(32, null, [fluid('ethylene')]) mods.gregtech.gas_turbine.removeByInput(32, null, [fluid('natural_gas') * 8]) -mods.gregtech.gas_turbine.removeByInput(32, null, [fluid('refinery_gas')]) mods.gregtech.gas_turbine.removeByInput(32, null, [fluid('sulfuric_naphtha') * 4]) mods.gregtech.gas_turbine.removeByInput(32, null, [fluid('propene')]) mods.gregtech.gas_turbine.removeByInput(32, null, [fluid('wood_gas') * 8]) @@ -174,14 +173,6 @@ CryoNetherAir.setDurationHX(5); CryoNetherAir.setDurationRadiator(200); CryoNetherAir.setTemperature(80); -def CryoRefineryGas = new ICryoGas('refinery_gas', 'hot_hp_refinery_gas', 'hp_refinery_gas', 'cold_hp_refinery_gas', 'liquid_refinery_gas'); -CryoRefineryGas.setEUt(60); -CryoRefineryGas.setDuration(100); -CryoRefineryGas.setPowerHX(100); -CryoRefineryGas.setDurationHX(5); -CryoRefineryGas.setDurationRadiator(200); -CryoRefineryGas.setTemperature(80); - def CryoNaturalGas = new ICryoGas('natural_gas', 'hot_hp_natural_gas', 'hp_natural_gas', 'cold_hp_natural_gas', 'liquid_natural_gas'); CryoNaturalGas.setEUt(60); CryoNaturalGas.setDuration(100); @@ -190,6 +181,14 @@ CryoNaturalGas.setDurationHX(5); CryoNaturalGas.setDurationRadiator(200); CryoNaturalGas.setTemperature(80); +def CryoPetroleumGas = new ICryoGas('fuel_gas', 'hot_hp_fuel_gas', 'hp_fuel_gas', 'cold_hp_fuel_gas', 'lpg'); +CryoNaturalGas.setEUt(60); +CryoNaturalGas.setDuration(100); +CryoNaturalGas.setPowerHX(100); +CryoNaturalGas.setDurationHX(5); +CryoNaturalGas.setDurationRadiator(200); +CryoNaturalGas.setTemperature(80); + def CryoMethane = new ICryoGas('methane', 'hot_hp_methane', 'hp_methane', 'cold_hp_methane', 'liquid_methane'); CryoMethane.setEUt(60); CryoMethane.setDuration(100); @@ -210,8 +209,8 @@ def CryoGases = [ CryoAir, CryoDecarburizedAir, CryoNetherAir, - CryoRefineryGas, CryoNaturalGas, + CryoPetroleumGas, CryoMethane ]; @@ -274,6 +273,21 @@ def Refrigerants = [ ChlorodifluoromethaneRefrigerant ]; +def CarbonDioxideSupercritical = new ISupercriticalFluid("compressed_carbon_dioxide", "supercritical_carbon_dioxide"); +CarbonDioxideSupercritical.setPowerToCompress(240); +CarbonDioxideSupercritical.setDurationToCompress(200); +CarbonDioxideSupercritical.setCriticalTemperature(304); + +def PropaneSupercritical = new ISupercriticalFluid("compressed_propane", "supercritical_propane"); +PropaneSupercritical.setPowerToCompress(480); +PropaneSupercritical.setDurationToCompress(100); +PropaneSupercritical.setCriticalTemperature(370); + +def SupercriticalFluids = [ + CarbonDioxideSupercritical, + PropaneSupercritical +] + //Refrigerant recipes generation for (refrigerant in Refrigerants) { //Compression @@ -431,11 +445,6 @@ for (refrigerant in Refrigerants) { .buildAndRegister(); } -def Naphtha = new IFluidFuel('naphtha', 'flue_gas'); -Naphtha.setDuration(160); -Naphtha.setAmountToBurn(10); -Naphtha.setByproductAmount(1000); - def NaturalGas = new IFluidFuel('natural_gas', 'flue_gas'); NaturalGas.setDuration(100); NaturalGas.setAmountToBurn(160); @@ -491,11 +500,6 @@ Ethylene.setDuration(85); Ethylene.setAmountToBurn(160); Ethylene.setByproductAmount(500); -def RefineryGas = new IFluidFuel('refinery_gas', 'flue_gas'); -RefineryGas.setDuration(100); -RefineryGas.setAmountToBurn(160); -RefineryGas.setByproductAmount(750); - def Ammonia = new IFluidFuel('ammonia', 'nitrogen'); Ammonia.setDuration(70); Ammonia.setAmountToBurn(160); @@ -545,7 +549,7 @@ LiquidNaturalGas.setByproductAmount(1250); LiquidNaturalGas.setIsRefinedFuel(true); def FuelOil = new IFluidFuel('fuel_oil', 'flue_gas'); -FuelOil.setDuration(100); +FuelOil.setDuration(150); FuelOil.setAmountToBurn(10); FuelOil.setByproductAmount(2000); FuelOil.setIsRefinedFuel(true); @@ -629,7 +633,6 @@ SupremeKerosene.setByproductAmount(5000); SupremeKerosene.setIsRefinedFuel(true); def FluidFuels = [ - Naphtha, NaturalGas, Methane, Ethane, @@ -641,7 +644,6 @@ def FluidFuels = [ CoalGas, Syngas, Ethylene, - RefineryGas, Ammonia, Propene, Butene, @@ -843,3 +845,14 @@ recipemap('heat_exchanger').recipeBuilder() .fluidOutputs(liquid('chilled_lava') * 3) .duration(10) .buildAndRegister(); + +// Supercritical fluid compression + +for (scfluid in SupercriticalFluids) { + recipemap('fluid_compressor').recipeBuilder() + .fluidInputs(fluid(scfluid.getStartingGas()) * 1280) + .fluidOutputs(fluid(scfluid.getSupercriticalFluid()) * 20) + .EUt(scfluid.getPowerToCompress()) + .duration(scfluid.getDurationToCompress()) + .buildAndRegister(); +} \ No newline at end of file diff --git a/groovy/runConfig.json b/groovy/runConfig.json index 66dafcfd3..a654615f4 100644 --- a/groovy/runConfig.json +++ b/groovy/runConfig.json @@ -12,6 +12,7 @@ "classes/IQuenchingFluid.groovy", "classes/IRefrigerant.groovy", "classes/IWorkingFluid.groovy", + "classes/ISupercriticalFluid.groovy", "globals/", "material/" ], diff --git a/manifest.json b/manifest.json index 975230220..6f973a74a 100644 --- a/manifest.json +++ b/manifest.json @@ -287,7 +287,7 @@ }, { "projectID": 477021, - "fileID": 5910187, + "fileID": 5994740, "required": true }, { @@ -397,7 +397,7 @@ }, { "projectID": 846224, - "fileID": 5954805, + "fileID": 5994779, "required": true }, { diff --git a/resources/gregtech/blankitem.png b/resources/gregtech/blankitem.png new file mode 100644 index 000000000..cb0e5e0aa Binary files /dev/null and b/resources/gregtech/blankitem.png differ diff --git a/resources/gregtech/itemCreator.sh b/resources/gregtech/itemCreator.sh new file mode 100644 index 000000000..0457c62dd --- /dev/null +++ b/resources/gregtech/itemCreator.sh @@ -0,0 +1,36 @@ +#!/bin/bash +while true; do + echo "What file should be created? (Do not include extension)" + read NAME + if [[ -n $VAR ]]; then + exit + fi + + # NAME="${NAME//./\/}" + + # Copy PNG + PNGFILEPATH="./textures/items/metaitems/"$NAME".png" + PNGFOLDERPATH=${PNGFILEPATH%\/*} + mkdir -p $PNGFOLDERPATH + chmod 777 $PNGFOLDERPATH + cp -n "blankitem.png" $PNGFILEPATH + chmod 777 $PNGFILEPATH + chown -R bruberu $PNGFOLDERPATH + echo "Created " $PNGFILEPATH + + # Copy JSON + JSONFILEPATH="./models/item/metaitems/"$NAME".json" + JSONFOLDERPATH=${JSONFILEPATH%\/*} + mkdir -p $JSONFOLDERPATH + chmod 777 $JSONFOLDERPATH + cp "blankmodel.txt" $JSONFILEPATH + + # Escapes all characters within the filename, so that sed does not weirdly view the replacement function + SAFENAME=$(printf '%s\n' "$NAME" | sed -e 's/[\/&]/\\&/g') + SEDFUNC="s/REPLACE/"$SAFENAME"/" + # Points the model to the correct texture + sed -i $SEDFUNC $JSONFILEPATH + chmod 777 $JSONFILEPATH + chown -R bruberu $JSONFOLDERPATH + echo "Created " $JSONFILEPATH +done diff --git a/resources/gregtech/models/item/metaitems/bituminous_residue.json b/resources/gregtech/models/item/metaitems/bituminous_residue.json deleted file mode 100644 index 06a2b01b1..000000000 --- a/resources/gregtech/models/item/metaitems/bituminous_residue.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "gregtech:items/metaitems/bituminous_residue" - } - } \ No newline at end of file diff --git a/resources/gregtech/models/item/metaitems/fuse.hv.json b/resources/gregtech/models/item/metaitems/fuse.hv.json new file mode 100644 index 000000000..bc5c3e30c --- /dev/null +++ b/resources/gregtech/models/item/metaitems/fuse.hv.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/fuse.hv" + } +} diff --git a/resources/gregtech/models/item/metaitems/heat_sink.json b/resources/gregtech/models/item/metaitems/heat_sink.json new file mode 100644 index 000000000..e436699bc --- /dev/null +++ b/resources/gregtech/models/item/metaitems/heat_sink.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/heat_sink" + } +} diff --git a/resources/gregtech/models/item/metaitems/hydrocracking_catalyst.json b/resources/gregtech/models/item/metaitems/hydrocracking_catalyst.json new file mode 100644 index 000000000..e5c6c6ef7 --- /dev/null +++ b/resources/gregtech/models/item/metaitems/hydrocracking_catalyst.json @@ -0,0 +1,7 @@ + +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/hydrocracking_catalyst" + } + } \ No newline at end of file diff --git a/resources/gregtech/models/item/metaitems/op_amp.json b/resources/gregtech/models/item/metaitems/op_amp.json new file mode 100644 index 000000000..d2e32a3d2 --- /dev/null +++ b/resources/gregtech/models/item/metaitems/op_amp.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/op_amp" + } +} diff --git a/resources/gregtech/models/item/metaitems/protector_chip.json b/resources/gregtech/models/item/metaitems/protector_chip.json new file mode 100644 index 000000000..eace11c2c --- /dev/null +++ b/resources/gregtech/models/item/metaitems/protector_chip.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/protector_chip" + } +} diff --git a/resources/gregtech/models/item/metaitems/voltage_regulator.hv.json b/resources/gregtech/models/item/metaitems/voltage_regulator.hv.json new file mode 100644 index 000000000..cd7f53c62 --- /dev/null +++ b/resources/gregtech/models/item/metaitems/voltage_regulator.hv.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/voltage_regulator.hv" + } +} diff --git a/resources/gregtech/models/item/metaitems/voltage_regulator.hv.unsealed.json b/resources/gregtech/models/item/metaitems/voltage_regulator.hv.unsealed.json new file mode 100644 index 000000000..a3ea5b91b --- /dev/null +++ b/resources/gregtech/models/item/metaitems/voltage_regulator.hv.unsealed.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/voltage_regulator.hv.unsealed" + } +} diff --git a/resources/gregtech/models/item/metaitems/voltage_regulator.mv.json b/resources/gregtech/models/item/metaitems/voltage_regulator.mv.json new file mode 100644 index 000000000..0f6de7aae --- /dev/null +++ b/resources/gregtech/models/item/metaitems/voltage_regulator.mv.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/voltage_regulator.mv" + } +} diff --git a/resources/gregtech/models/item/metaitems/zener_diode.json b/resources/gregtech/models/item/metaitems/zener_diode.json new file mode 100644 index 000000000..2f11f0ce4 --- /dev/null +++ b/resources/gregtech/models/item/metaitems/zener_diode.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/zener_diode" + } +} diff --git a/resources/gregtech/package-lock.json b/resources/gregtech/package-lock.json new file mode 100644 index 000000000..3527b96c0 --- /dev/null +++ b/resources/gregtech/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "gregtech", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/resources/gregtech/textures/items/metaitems/bituminous_residue.png b/resources/gregtech/textures/items/metaitems/bituminous_residue.png deleted file mode 100644 index e0bdb2a18..000000000 Binary files a/resources/gregtech/textures/items/metaitems/bituminous_residue.png and /dev/null differ diff --git a/resources/gregtech/textures/items/metaitems/fuse.hv.png b/resources/gregtech/textures/items/metaitems/fuse.hv.png new file mode 100644 index 000000000..7387e24a3 Binary files /dev/null and b/resources/gregtech/textures/items/metaitems/fuse.hv.png differ diff --git a/resources/gregtech/textures/items/metaitems/heat_sink.png b/resources/gregtech/textures/items/metaitems/heat_sink.png new file mode 100644 index 000000000..26dce61a7 Binary files /dev/null and b/resources/gregtech/textures/items/metaitems/heat_sink.png differ diff --git a/resources/gregtech/textures/items/metaitems/hydrocracking_catalyst.png b/resources/gregtech/textures/items/metaitems/hydrocracking_catalyst.png new file mode 100644 index 000000000..279737899 Binary files /dev/null and b/resources/gregtech/textures/items/metaitems/hydrocracking_catalyst.png differ diff --git a/resources/gregtech/textures/items/metaitems/op_amp.png b/resources/gregtech/textures/items/metaitems/op_amp.png new file mode 100644 index 000000000..6efbebbcc Binary files /dev/null and b/resources/gregtech/textures/items/metaitems/op_amp.png differ diff --git a/resources/gregtech/textures/items/metaitems/protector_chip.png b/resources/gregtech/textures/items/metaitems/protector_chip.png new file mode 100644 index 000000000..f1a98d62a Binary files /dev/null and b/resources/gregtech/textures/items/metaitems/protector_chip.png differ diff --git a/resources/gregtech/textures/items/metaitems/voltage_regulator.hv.png b/resources/gregtech/textures/items/metaitems/voltage_regulator.hv.png new file mode 100644 index 000000000..81471444d Binary files /dev/null and b/resources/gregtech/textures/items/metaitems/voltage_regulator.hv.png differ diff --git a/resources/gregtech/textures/items/metaitems/voltage_regulator.hv.unsealed.png b/resources/gregtech/textures/items/metaitems/voltage_regulator.hv.unsealed.png new file mode 100644 index 000000000..1e6674858 Binary files /dev/null and b/resources/gregtech/textures/items/metaitems/voltage_regulator.hv.unsealed.png differ diff --git a/resources/gregtech/textures/items/metaitems/voltage_regulator.mv.png b/resources/gregtech/textures/items/metaitems/voltage_regulator.mv.png new file mode 100644 index 000000000..edec3ed28 Binary files /dev/null and b/resources/gregtech/textures/items/metaitems/voltage_regulator.mv.png differ diff --git a/resources/gregtech/textures/items/metaitems/zener_diode.png b/resources/gregtech/textures/items/metaitems/zener_diode.png new file mode 100644 index 000000000..fefa3dc6e Binary files /dev/null and b/resources/gregtech/textures/items/metaitems/zener_diode.png differ diff --git a/resources/langfiles/lang/en_pt.lang b/resources/langfiles/lang/en_pt.lang index 5aa7eeaa5..0701ad5ac 100644 --- a/resources/langfiles/lang/en_pt.lang +++ b/resources/langfiles/lang/en_pt.lang @@ -95,7 +95,6 @@ susy.material.diluted_potassium_carbonate_solution=Solução diluída de carbona susy.material.potassium_hydroxide_solution=Solução de Hidróxido de Potássio susy.material.calcium_hydroxide_solution=Solução de hidróxido de cálcio susy.material.sodium_silicate_solution=Solução de Silicato de Sódio -susy.material.raw_molecular_sieve=Peneira Molecular Bruta susy.material.dry_carbon_monóxido=Monóxido de Carbono Seco susy.material.metil_formate=Formato de Metila susy.material.methyl_formate_solution=Solução de Formato de Metila @@ -350,15 +349,8 @@ susy.material.desalted_oil_heavy=Óleo Pesado Dessalinizado susy.material.brine=Salmoura susy.material.warm_brine=Salmoura Quente susy.material.oily_brine=Salmoura Oleosa -susy.material.sulfuric_oil_residue=Resíduos de Óleo Sulfúrico -susy.material.treated_sulfuric_oil_residue=Resíduo de Óleo Sulfúrico Tratado susy.material.oil_residue=Resíduos de Óleo susy.material.high_pressure_water=Água em Alta Pressão -susy.material.light_bitumen_solution=Solução de Betume Leve -susy.material.bitumen_solution=Solução de Betume -susy.material.heavy_bitumen_solution=Solução de Betume Pesado -susy.material.sulfuric_fuel_oil=Óleo Combustível Sulfúrico -susy.material.treated_sulfuric_fuel_oil=Óleo Combustível Sulfúrico Tratado susy.material.crude_natural_gas=Gás Natural Bruto susy.material.sulfuric_natural_gas=Gás Natural Sulfúrico susy.material.treated_sulfuric_natural_gas=Gás Natural Sulfúrico Tratado @@ -373,7 +365,6 @@ susy.material.treated_sulfuric_kerosene=Querosene Sulfúrico Tratado susy.material.kerosene=Querosene susy.material.sulfuric_gasoline=Gasolina Sulfúrica susy.material.treated_sulfuric_gasoline=Gasolina Sulfúrica Tratada -susy.material.fuel_oil=Óleo Combustível susy.material.lubricating_oil=Óleo Lubrificante susy.material.slack_wax=Cera Frouxa susy.material.resin=Resina @@ -408,12 +399,9 @@ susy.material.severely_steamcracked_naphtha_mix=Mistura de Nafta Severamente Rac susy.material.lightly_hydrocracked_naphtha_mix=Mistura de Nafta Levemente Rachada por Água susy.material.severely_hydrocracked_naphtha_mix=Mistura de Nafta Severamente Rachada por Água susy.material.upgraded_lubricating_oil_mix=Mistura de Óleo Lubrificante Melhorada -susy.material.upgraded_fuel_oil_mix=Mistura de Óleo Combustível Melhorada susy.material.upgraded_diesel_mix=Mistura de Diesel Melhorada susy.material.upgraded_kerosene_mix=Mistura de Querosene Melhorada susy.material.upgraded_naphtha_mix=Mistura de Nafta Melhorada -susy.material.alkylated_natural_gas=Gás Natural Alquilado -susy.material.alkylated_refinery_gas=Gás de Refinaria Alquilado susy.material.impure_sodium_aluminate_solution=Solução Impura de Aluminato de Sódio susy.material.sodium_aluminate_solution=Sodium Aluminate Solution susy.material.red_mud=Lama Vermelha @@ -611,7 +599,6 @@ susy.material.impure_acetaldehyde=Acetaldeído Impuro susy.material.cativa_catalyst_preparation=Preparação Catalisador de Cativa susy.material.acidic_cumene=Cumeno Acídico susy.material.rearranged_cumene=Cumeno Rearranjado -susy.material.alkylated_butane=Butano Alquilado susy.material.impure_kapton_k=Kapton K Impuro susy.material.impure_kapton_e=Kapton E Impuro susy.material.kapton_e_preparation=Preparação de Solução de Kapton E @@ -739,8 +726,8 @@ susy.material.langbeinite_leach=Langbeinite Leach susy.material.polyhalite_leach=Polyhalite Leach susy.material.concentrated_polyhalite_leach=Concentrated Polyhalite Leach susy.material.kainite_leach=Kainite Leach -susy.material.zeolite_13x=Zeolite 13X -susy.material.zeolite_13x_solution=Zeolite 13X Solution +susy.material.type_x_zeolite=Type X Zeolite +susy.material.type_x_zeolite_solution=Type X Zeolite Solution susy.material.lts_catalyst=LTS Catalyst susy.material.hts_catalyst=HTS Catalyst susy.material.spent_bismuth_catalyst=Spent Bismuth Catalyst @@ -1305,8 +1292,6 @@ susy.material.light_oily_brine=Light Oily Brine susy.material.heavy_oily_brine=Heavy Oily Brine susy.material.calcium_sulfite=Calcium Sulfite susy.material.sodium_amide=Sodium Amide -susy.material.zeolite_13=Zeolite 13X -susy.material.zeolite_13_solution=Zeolite 13X Solution susy.material.sienna=Sienna susy.material.burnt_sienna=Burnt Sienna susy.material.lead_chromate=Lead Chromate @@ -1943,7 +1928,6 @@ metaitem.sugar_cane_dust.name=Sugar Cane Dust metaitem.washed_rotten_flesh.name=Washed Rotten Flesh metaitem.bitumen.name=Bitumen -metaitem.bituminous_residue.name=Bituminous Residue metaitem.paraffin_wax.name=Paraffin Wax metaitem.spent_cracking_catalyst.name=Spent Cracking Catalyst metaitem.cracking_catalyst.name=Cracking Catalyst diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index 3aa19f4ca..7f4cecba1 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -95,7 +95,6 @@ susy.material.diluted_potassium_carbonate_solution=Diluted Potassium Carbonate S susy.material.potassium_hydroxide_solution=Potassium Hydroxide Solution susy.material.calcium_hydroxide_slurry=Calcium Hydroxide Slurry susy.material.sodium_silicate_solution=Sodium Silicate Solution -susy.material.raw_molecular_sieve=Raw Molecular Sieve susy.material.acetylene=Acetylene susy.material.ammonia_solution=Ammonia Solution susy.material.formaldehyde=Formaldehyde @@ -345,12 +344,10 @@ susy.material.desalted_oil_heavy=Desalted Heavy Oil susy.material.brine=Brine susy.material.warm_brine=Warm Brine susy.material.oily_brine=Oily Brine -susy.material.sulfuric_oil_residue=Sulfuric Oil Residue -susy.material.light_bitumen_solution=Light Bitumen Solution -susy.material.bitumen_solution=Bitumen Solution -susy.material.heavy_bitumen_solution=Heavy Bitumen Solution -susy.material.sulfuric_fuel_oil=Sulfuric Fuel Oil -susy.material.treated_sulfuric_fuel_oil=Treated Sulfuric Fuel Oil +susy.material.atmospheric_oil_residue=Atmospheric Oil Residue +susy.material.asphaltene_extract=Asphaltene Extract +susy.material.sulfuric_heavy_gas_oil=Sulfuric Heavy Gas Oil +susy.material.treated_sulfuric_heavy_gas_oil=Treated Sulfuric Heavy Gas Oil susy.material.crude_natural_gas=Crude Natural Gas susy.material.sulfuric_natural_gas=Sulfuric Natural Gas susy.material.treated_sulfuric_natural_gas=Treated Sulfuric Natural Gas @@ -363,9 +360,6 @@ susy.material.treated_sulfuric_naphtha=Treated Sulfuric Naphtha susy.material.sulfuric_kerosene=Sulfuric Kerosene susy.material.treated_sulfuric_kerosene=Treated Sulfuric Kerosene susy.material.kerosene=Kerosene -susy.material.sulfuric_gasoline=Sulfuric Gasoline -susy.material.treated_sulfuric_gasoline=Treated Sulfuric Gasoline -susy.material.fuel_oil=Fuel Oil susy.material.lubricating_oil=Lubricating Oil susy.material.slack_wax=Slack Wax susy.material.resin=Resin @@ -379,33 +373,10 @@ susy.material.naphtha_reformate=Naphtha Reformate susy.material.furfural=Furfural susy.material.btex_extract=B.T.E.X. Extract susy.material.btex=B.T.E.X. -susy.material.lightly_steamcracked_kerosene=Lightly Steam Cracked Kerosene -susy.material.severely_steamcracked_kerosene=Severely Steam Cracked Kerosene -susy.material.lightly_hydrocracked_kerosene=Lightly Hydro Cracked Kerosene -susy.material.severely_hydrocracked_kerosene=Severely Hydro Cracked Kerosene -susy.material.lightly_steamcracked_gasoline=Lightly Steam Cracked Gasoline -susy.material.severely_steamcracked_gasoline=Severely Steam Cracked Gasoline -susy.material.lightly_hydrocracked_gasoline=Lightly Hydro Cracked Gasoline -susy.material.severely_hydrocracked_gasoline=Severely Hydro Cracked Gasoline -susy.material.lightly_steamcracked_kerosene_mix=Lightly Steam Cracked Kerosene Mix -susy.material.severely_steamcracked_kerosene_mix=Severely Steam Cracked Kerosene Mix -susy.material.lightly_hydrocracked_kerosene_mix=Lightly Hydro Cracked Kerosene Mix -susy.material.severely_hydrocracked_kerosene_mix=Severely Hydro Cracked Kerosene Mix -susy.material.lightly_steamcracked_gasoline_mix=Lightly Steam Cracked Gasoline Mix -susy.material.severely_steamcracked_gasoline_mix=Severely Steam Cracked Gasoline Mix -susy.material.lightly_hydrocracked_gasoline_mix=Lightly Hydro Cracked Gasoline Mix -susy.material.severely_hydrocracked_gasoline_mix=Severely Hydro Cracked Gasoline Mix -susy.material.lightly_steamcracked_naphtha_mix=Lightly Steam Cracked Naphtha Mix -susy.material.severely_steamcracked_naphtha_mix=Severely Steam Cracked Naphtha Mix -susy.material.lightly_hydrocracked_naphtha_mix=Lightly Hydro Cracked Naphtha Mix -susy.material.severely_hydrocracked_naphtha_mix=Severely Hydro Cracked Naphtha Mix -susy.material.upgraded_lubricating_oil_mix=Upgraded Lubricating Oil Mix -susy.material.upgraded_fuel_oil_mix=Upgraded Fuel Oil Mix -susy.material.upgraded_diesel_mix=Upgraded Diesel Mix -susy.material.upgraded_kerosene_mix=Upgraded Kerosene Mix -susy.material.upgraded_naphtha_mix=Upgraded Naphtha Mix -susy.material.alkylated_natural_gas=Alkylated Natural Gas -susy.material.alkylated_refinery_gas=Alkylated Refinery Gas +susy.material.steamcracked_light_naphtha=Steam Cracked Light Naphtha +susy.material.steamcracked_heavy_naphtha=Steam Cracked Heavy Naphtha +susy.material.steamcracked_light_gas_oil=Steam Cracked Light Gas Oil +susy.material.steamcracked_heavy_gas_oil=Steam Cracked Heavy Gas Oil susy.material.impure_sodium_aluminate_solution=Impure Sodium Aluminate Solution susy.material.sodium_aluminate_solution=Sodium Aluminate Solution susy.material.red_mud=Red Mud @@ -416,6 +387,7 @@ susy.material.sodium_fluoride_solution=Sodium Fluoride Solution susy.material.potassium_fluoride_solution=Potassium Fluoride Solution susy.material.concentrated_red_mud=Concentrated Red Mud susy.material.furfural_solution=Furfural Solution +susy.material.acidic_furfural_solution=Acidic Furfural Solution susy.material.syngas=Syngas susy.material.ammonia_reaction_mix=Ammonia Reaction Mix susy.material.ammonia_rich_gas=Ammonia-Rich Gas @@ -429,6 +401,8 @@ susy.material.borate_liquor=Borate Liquor susy.material.tetrafluoroboric_acid=Tetrafluoroboric Acid susy.material.potassium_tetrafluoroborate_solution=Potassium Tetrafluoroborate Solution susy.material.boron_trichloride=Boron Trichloride +susy.material.heavy_gas_oil=Heavy Gas Oil +susy.material.treated_sulfuric_lubricating_oil=Treated Sulfuric Lubricating Oil susy.material.cresol=Cresol susy.material.guaiacol=Guaiacol @@ -601,7 +575,6 @@ susy.material.cativa_catalyst_preparation=Cativa Catalyst Preparation susy.material.cativa_catalyst_solution=Cativa Catalyst Solution susy.material.acidic_cumene=Acidic Cumene susy.material.rearranged_cumene=Rearranged Cumene -susy.material.alkylated_butane=Alkylated Butane susy.material.impure_kapton_k=Impure Kapton K susy.material.impure_kapton_e=Impure Kapton E susy.material.kapton_e_preparation=Kapton E Preparation Solution @@ -727,8 +700,6 @@ susy.material.langbeinite_leach=Langbeinite Leach susy.material.polyhalite_leach=Polyhalite Leach susy.material.concentrated_polyhalite_leach=Concentrated Polyhalite Leach susy.material.kainite_leach=Kainite Leach -susy.material.zeolite_13x=Zeolite 13X -susy.material.zeolite_13x_solution=Zeolite 13X Solution susy.material.lts_catalyst=LTS Catalyst susy.material.hts_catalyst=HTS Catalyst susy.material.spent_bismuth_catalyst=Spent Bismuth Catalyst @@ -977,7 +948,7 @@ susy.material.liquid_krypton=Liquid Krypton susy.material.liquid_xenon=Liquid Xenon susy.material.liquid_nitrogen=Liquid Nitrogen susy.material.liquid_refinery_gas=Liquid Refinery Gas -susy.material.liquid_natural_gas=Liquid Natural Gas (LNG) +susy.material.liquid_natural_gas=Liquified Natural Gas (LNG) susy.material.liquid_methane=Liquid Methane susy.material.liquid_decarburized_air=Liquid Decarburized Air @@ -993,10 +964,6 @@ susy.material.hot_hp_decarburized_air=Hot High-Pressure Decarburized Air susy.material.hp_decarburized_air=High-Pressure Decarburized Air susy.material.cold_hp_decarburized_air=Cold High-Pressure Decarburized Air -susy.material.hot_hp_refinery_gas=Hot High-Pressure Refinery Gas -susy.material.hp_refinery_gas=High-Pressure Refinery Gas -susy.material.cold_hp_refinery_gas=Cold High-Pressure Refinery Gas - susy.material.hot_hp_natural_gas=Hot High-Pressure Natural Gas susy.material.hp_natural_gas=High-Pressure Natural Gas susy.material.cold_hp_natural_gas=Cold High-Pressure Natural Gas @@ -1311,8 +1278,8 @@ susy.material.light_oily_brine=Light Oily Brine susy.material.heavy_oily_brine=Heavy Oily Brine susy.material.calcium_sulfite=Calcium Sulfite susy.material.sodium_amide=Sodium Amide -susy.material.zeolite_13=Zeolite 13X -susy.material.zeolite_13_solution=Zeolite 13X Solution +susy.material.type_x_zeolite=Type X Zeolite +susy.material.type_x_zeolite_solution=Type X Zeolite Solution susy.material.sienna=Sienna susy.material.burnt_sienna=Burnt Sienna susy.material.lead_chromate=Lead Chromate @@ -1405,7 +1372,7 @@ susy.material.dirty_molecular_sieve=Dirty Molecular Sieve susy.material.cold_gaseous_nitrogen=Cold Gaseous Nitrogen susy.material.tert_butyl_alcohol=tert-Butyl Alcohol susy.material.butylated_hydroxytoluene=Butylated Hydroxytoluene -susy.material.dimethyl_tert_butylphenol=2,4-Dimethyl-6-tert-butylphenol +susy.material.dimethyl_tert_butylphenol=2,4/5-Dimethyl-6-tert-butylphenol susy.material.aluminium_phenolate=Aluminium Phenolate susy.material.di_tert_butylphenol=2,6-Di-tert-butylphenol susy.material.isooctane=iso-Octane @@ -1977,6 +1944,15 @@ susy.material.cobalt_matte=Cobalt Matte susy.material.methyl_formate_solution=Methyl Formate Solution susy.material.acidic_thallium_sulfate_solution=Acidic Thallium Sulfate Solution susy.material.ethyl_acetate=Ethyl Acetate +susy.material.triethylene_glycol=Triethylene Glycol +susy.material.hydrated_triethylene_glycol=Hydrated Triethylene Glycol +susy.material.acidic_rich_amine=Acidic Rich Amine +susy.material.crude_kerosene=Crude Kerosene +susy.material.crude_light_gas_oil=Crude Light Gas Oil +susy.material.crude_heavy_gas_oil=Crude Heavy Gas Oil +susy.material.heated_oil=Heated Oil +susy.material.heated_oil_light=Heated Light Oil +susy.material.heated_oil_heavy=Heated Heavy Oil susy.material.dense_steam=Dense Steam susy.material.nether_molecular_sieve=Nether Molecular Sieve susy.material.heavy_nether_gases=Heavy Nether Gases @@ -1990,7 +1966,106 @@ susy.material.potassium_manganate=Potassium Manganate susy.material.lead_free_solder=Lead-Free Solder susy.material.cryogenic_solder=Cryogenic Solder susy.material.oxidized_manganate_solution=Oxidized Manganate Solution +susy.material.crude_naphtha=Crude Naphtha +susy.material.atmospheric_overheads=Atmospheric Overheads +susy.material.heavy_atmospheric_overheads=Heavy Atmospheric Overheads +susy.material.light_atmospheric_overheads=Light Atmospheric Overheads +susy.material.hydrotreating_catalyst=Hydrotreating Catalyst +susy.material.supported_nickel=Supported Nickel +susy.material.debutanized_naphtha=Debutanized Naphtha +susy.material.sulfuric_debutanized_naphtha=Debutanized Naphtha +susy.material.sulfuric_fuel_gas=Sulfuric Fuel Gas +susy.material.sulfuric_butane_fuel_gas=Sulfuric Butane Fuel Gas +susy.material.sulfuric_propane_fuel_gas=Sulfuric Propane Fuel Gas +susy.material.sulfuric_light_naphtha=Sulfuric Light Naphtha +susy.material.sulfuric_heavy_naphtha=Sulfuric Heavy Naphtha +susy.material.light_naphtha=Light Naphtha +susy.material.heavy_naphtha=Heavy Naphtha +susy.material.fuel_gas=Fuel Gas +susy.material.butane_fuel_gas=Butane Fuel Gas +susy.material.propane_fuel_gas=Propane Fuel Gas +susy.material.heated_oil_residue=Heated Oil Residue +susy.material.vacuum_oil_residue=Vacuum Oil Residue +susy.material.sour_water=Sour Water +susy.material.type_y_zeolite=Type Y Zeolite +susy.material.type_y_zeolite_solution=Type Y Zeolite Solution +susy.material.pyrolysis_gasoline=Pyrolysis Gasoline susy.material.galvanized_steel=Galvanized Steel +susy.material.chlorided_alumina=Chlorided Alumina +susy.material.sulfated_metal_oxide=Sulfated Metal Oxide (SMO) +susy.material.solid_phosphoric_acid=Solid Phosphoric Acid (SPA) +susy.material.amorphous_silica_alumina=Amorphous Silica Alumina (ASA) +susy.material.heated_green_coke=Heated Green Coke +susy.material.cobalt_nitrate_solution=Cobalt Nitrate Solution +susy.material.sulfuric_light_gas_oil=Sulfuric Gas Oil +susy.material.treated_sulfuric_light_gas_oil=Treated Sulfuric Light Gas Oil +susy.material.deasphalted_oil=Deasphalted Oil +susy.material.hydrocracked_light_gas_oil=Hydrocracked Light Gas Oil +susy.material.hydrocracked_heavy_gas_oil=Hydrocracked Heavy Gas Oil +susy.material.catalytically_cracked_heavy_gas_oil=Catalytically Cracked Heavy Gas Oil +susy.material.catalytically_cracked_atmospheric_oil_residue=Catalytically Cracked Atmospheric Oil Residue +susy.material.catalytically_cracked_vacuum_oil_residue=Catalytically Cracked Vacuum Oil Residue +susy.material.hydrocracked_atmospheric_oil_residue=Hydrocracked Atmospheric Oil Residue +susy.material.hydrocracked_vacuum_oil_residue=Hydrocracked Vacuum Oil Residue +susy.material.thermally_cracked_atmospheric_oil_residue=Thermally Cracked Atmospheric Oil Residue +susy.material.thermally_cracked_vacuum_oil_residue=Thermally Cracked Vacuum Oil Residue +susy.material.hydrocracked_light_cycle_oil=Hydrocracked Light Cycle Oil +susy.material.crude_catalytically_cracked_heavy_gas_oil=Crude Catalytically Cracked Heavy Gas Oil +susy.material.crude_catalytically_cracked_atmospheric_oil_residue=Crude Catalytically Cracked Atmospheric Oil Residue +susy.material.crude_catalytically_cracked_vacuum_oil_residue=Crude Catalytically Cracked Vacuum Oil Residue +susy.material.quenched_atmospheric_oil_residue=Quenched Atmospheric Oil Residue +susy.material.quenched_vacuum_oil_residue=Quenched Vacuum Oil Residue +susy.material.light_gas_oil=Light Gas Oil +susy.material.slurry_oil=Slurry Oil +susy.material.light_cycle_oil=Light Cycle Oil +susy.material.sulfuric_catalytic_overheads=Sulfuric Catalytic Overheads +susy.material.catalytic_overheads=Catalytic Overheads +susy.material.reforming_liquids=Reforming Liquids +susy.material.reformate=Reformate +susy.material.reformate_raffinate=Reformate Raffinate +susy.material.raw_isomerate=Raw Isomerate +susy.material.isohexane_rich_stream=Isohexane Rich Stream +susy.material.isomerate=Isomerate +susy.material.catalytic_olefin_rich_mixture=Catalytic Olefin Rich Mixture +susy.material.catalytic_c_four_fraction=Catalytic C4 Fraction +susy.material.catalytic_c_three_fraction=Catalytic C3 Fraction +susy.material.catalytic_light_gases=Catalyitc Light Gases +susy.material.catalytic_butene_mixture=Catalytic Butene Mixture +susy.material.visbreaking_residue=Visbreaking Residue +susy.material.coking_residue=Coking Residue +susy.material.heated_coking_residue=Heated Coking Residue +susy.material.coke_fines=Coke Fines +susy.material.fluid_cracked_vacuum_oil_residue=Fluid Cracked Vacuum Oil Residue +susy.material.coking_effluents=Coking Effluents +susy.material.acidic_alkylate_mixture=Acidic Alkylate Mixture +susy.material.alkylate_mixture=Alkylate Mixture +susy.material.alkylate=Alkylate +susy.material.crude_isobutane=Crude Isobutane +susy.material.raw_gasoline_polymerate=Raw Gasoline Polymerate +susy.material.polymerate=Polymerate +susy.material.sulfuric_light_cycle_oil=Sulfuric Light Cycle Oil +susy.material.treated_sulfuric_light_cycle_oil=Treated Sulfuric Light Cycle Oil +susy.material.heated_light_naphtha=Heated Light Naphtha +susy.material.heated_heavy_naphtha=Heated Heavy Naphtha +susy.material.heated_light_gas_oil=Heated Light Gas Oil +susy.material.heated_heavy_gas_oil=Heated Heavy Gas Oil +susy.material.treated_sulfuric_light_naphtha=Treated Sulfuric Light Naphtha +susy.material.treated_sulfuric_heavy_naphtha=Treated Sulfuric Heavy Naphtha +susy.material.heated_kerosene=Heated Kerosene +susy.material.heated_light_cycle_oil=Heated Light Cycle Oil +susy.material.hot_hp_fuel_gas=Hot High Pressure Fuel Gas +susy.material.hp_fuel_gas=High Pressure Fuel Gas +susy.material.cold_hp_fuel_gas=Cold High Pressure Fuel Gas +susy.material.rp_one=RP-1 +susy.material.ammonium_metatungstate=Ammonium Metatungstate (AMT) +susy.material.ammonium_metatungstate_solution=Ammonium Metatungstate Solution +susy.material.clarified_slurry_oil=Clarified Slurry Oil +susy.material.pyrolysis_raffinate=Pyrolysis Raffinate +susy.material.carbon_black=Carbon Black +susy.material.compounded_polyisoprene=Compounded Polyisoprene +susy.material.compounded_styrene_isoprene_rubber=Compounded Styrene Isoprene Rubber +susy.material.compounded_styrene_butadiene_rubber=Compounded Styrene Butadiene Rubber +susy.material.fuel_oil=Fuel Oil susy.material.incoloy_twenty=Incoloy 20 susy.material.incoloy_eight_two_five=Incoloy 825 @@ -2017,6 +2092,12 @@ susy.material.impure_lithium_carbonate=Impure Lithium Carbonate susy.material.washed_graphene=Washed Graphene susy.material.distilled_graphene=Distilled Graphene susy.material.dried_graphene=Dried Graphene +susy.material.hexamethylenetetramine_solution=Hexamethylenetetramine Solution +susy.material.ortho_cresylic_acid_mixture=o-Cresylic Acid Mixture +susy.material.two_six_xylenol=2,6-Xylenol +susy.material.two_four_five_xylenol_mixture=2,4/5-Xylenol Mixture +susy.material.cresol_novolacs_oligomer=Cresol Novolacs Oligomer +susy.material.epoxy_cresol_novolacs=Epoxy Cresol Novolacs (ECN) # Isotopes @@ -2194,10 +2275,10 @@ metaitem.copra.name=Copra metaitem.washed_rotten_flesh.name=Washed Rotten Flesh metaitem.bitumen.name=Bitumen -metaitem.bituminous_residue.name=Bituminous Residue metaitem.paraffin_wax.name=Paraffin Wax metaitem.spent_cracking_catalyst.name=Spent Cracking Catalyst metaitem.cracking_catalyst.name=Cracking Catalyst +metaitem.hydrocracking_catalyst.name=Hydrocracking Catalyst metaitem.red_mud_slag.name=Red Mud Slag metaitem.leached_red_mud_slag.name=Leached Red Mud Slag metaitem.pitch_binder.name=Pitch Binder @@ -2405,6 +2486,20 @@ metaitem.tunnelbore.axle.name=Drilling Axle metaitem.tunnelbore.engine.name=Heavy Duty Drilling Engine metaitem.tunnelbore.drillhead.name=Tunnel Bore Drill Head +metaitem.op_amp.name=Op Amp +metaitem.heat_sink.name=Heat Sink +metaitem.protector_chip.name=Protector Chip +metaitem.zener_diode.name=Zener Diode +metaitem.fuse.hv.name=High-Voltage Fuse +metaitem.voltage_regulator.hv.unsealed.name=Unsealed HV Voltage Regulator +metaitem.voltage_regulator.mv.name=Medium Voltage Regulator +metaitem.voltage_regulator.hv.name=High Voltage Regulator + +metaitem.circuit.basic_integrated.name=Miniaturized Electronic Circuit +metaitem.circuit.good_integrated.name=Advanced Electronic Circuit +metaitem.circuit.advanced_integrated.name=High-Voltage Electronic Circuit + + # Vanilla MC tile.hellsand.name=Mineral-Rich Sand tile.magma.name=Magma-Infused Netherrack @@ -2460,4 +2555,4 @@ susy.menu.reportabug=Report A Bug susy.menu.openfolder=Open MC Folder susy.menu.refresh=Refresh Menu susy.menu.replayviewer=Replay Viewer -susy.menu.quit.hover=You can never escape Greg. \ No newline at end of file +susy.menu.quit.hover=You can never escape Greg. diff --git a/resources/langfiles/lang/pl_pl.lang b/resources/langfiles/lang/pl_pl.lang index a69a357a3..69addf991 100644 --- a/resources/langfiles/lang/pl_pl.lang +++ b/resources/langfiles/lang/pl_pl.lang @@ -91,7 +91,6 @@ susy.material.diluted_potassium_carbonate_solution=Rozcieńczony Roztwór Węgla susy.material.potassium_hydroxide_solution=Roztwór Wodorotlenku Potasu susy.material.calcium_hydroxide_slurry=Zawiesina Wodorotlenku Wapnia susy.material.sodium_silicate_solution=Roztwór Krzemianu Sodu -susy.material.raw_molecular_sieve=Surowe Sito Molekularne susy.material.acetylene=Etyn susy.material.ammonia_solution=Roztwór Amoniaku susy.material.formaldehyde=Formaldehyd @@ -341,12 +340,6 @@ susy.material.desalted_oil_heavy=Odoslony Mazut susy.material.brine=Solanka susy.material.warm_brine=Ciepła Solanka susy.material.oily_brine=Oleista Solanka -susy.material.sulfuric_oil_residue=Osad Zasiarczonej Benzyny -susy.material.light_bitumen_solution=Roztwór Lekkiego Bitumu -susy.material.bitumen_solution=Roztwór Bitumu -susy.material.heavy_bitumen_solution=Roztwór Ciężkiego Bitumu -susy.material.sulfuric_fuel_oil=Zasiarczony Olej Opałowy -susy.material.treated_sulfuric_fuel_oil=Uzdatniony Zasiarczony Olej Opałowy susy.material.crude_natural_gas=Surowy Gaz Ziemny susy.material.sulfuric_natural_gas=Zasiarczony Gaz Ziemny susy.material.treated_sulfuric_natural_gas=Uzdatniony Zasiarczony Gaz Ziemny @@ -361,7 +354,6 @@ susy.material.treated_sulfuric_kerosene=Uzdatniona Zasiarczona Nafta susy.material.kerosene=Nafta susy.material.sulfuric_gasoline=Zasiarczona Benzyna susy.material.treated_sulfuric_gasoline=Uzdatniona Zasiarczona Benzyna -susy.material.fuel_oil=Olej Opałowy susy.material.lubricating_oil=Smar susy.material.slack_wax=Gacz Parafinowy susy.material.resin=Żywica @@ -396,12 +388,9 @@ susy.material.severely_steamcracked_naphtha_mix=Mieszanka Benzyny Surowej z Inte susy.material.lightly_hydrocracked_naphtha_mix=Mieszanka Benzyny Surowej z Lekkiego Hydrokrakingu susy.material.severely_hydrocracked_naphtha_mix=Mieszanka Benzyny Surowej z Intensywnego Hydrokrakingu susy.material.upgraded_lubricating_oil_mix=Mieszanina Wzbogaconego Smaru -susy.material.upgraded_fuel_oil_mix=Mieszanina Wzbogaconego Oleju Opałowego susy.material.upgraded_diesel_mix=Mieszanina Wzbogaconego Diesela susy.material.upgraded_kerosene_mix=Mieszanina Wzbogaconej Nafty susy.material.upgraded_naphtha_mix=Mieszanina Wzbogaconej Benzyny Surowej -susy.material.alkylated_natural_gas=Zalkilowany Gaz Ziemny -susy.material.alkylated_refinery_gas=Zalkilowany Gaz Rafineryjny susy.material.impure_sodium_aluminate_solution=Zanieczyszczony Roztwór Glinanu Sodu susy.material.sodium_aluminate_solution=Roztwór Glinianu Sodu susy.material.red_mud=Czerwony Szlam @@ -597,7 +586,6 @@ susy.material.cativa_catalyst_preparation=Preparat Katalizator Cativa susy.material.cativa_catalyst_solution=Roztwór Katalizator Cativa susy.material.acidic_cumene=Kwasowy Kumen susy.material.rearranged_cumene=Przestawiony Kumen -susy.material.alkylated_butane=Zalkilowany Butan susy.material.impure_kapton_k=Zanieczyszcony Kapton K susy.material.impure_kapton_e=Zanieczyszcony Kapton E susy.material.kapton_e_preparation=Roztwór Preparatu Kaptonu E @@ -723,8 +711,6 @@ susy.material.langbeinite_leach=Langbeinite Leach susy.material.polyhalite_leach=Polyhalite Leach susy.material.concentrated_polyhalite_leach=Concentrated Polyhalite Leach susy.material.kainite_leach=Kainite Leach -susy.material.zeolite_13x=Zeolite 13X -susy.material.zeolite_13x_solution=Zeolite 13X Solution susy.material.lts_catalyst=LTS Catalyst susy.material.hts_catalyst=HTS Catalyst susy.material.spent_bismuth_catalyst=Spent Bismuth Catalyst @@ -1299,8 +1285,8 @@ susy.material.light_oily_brine=Light Oily Brine susy.material.heavy_oily_brine=Heavy Oily Brine susy.material.calcium_sulfite=Calcium Sulfite susy.material.sodium_amide=Sodium Amide -susy.material.zeolite_13=Zeolite 13X -susy.material.zeolite_13_solution=Zeolite 13X Solution +susy.material.type_x_zeolite=Type X Zeolite +susy.material.type_x_zeolite_solution=Type X Zeolite Solution susy.material.sienna=Sienna susy.material.burnt_sienna=Burnt Sienna susy.material.lead_chromate=Lead Chromate @@ -2070,7 +2056,6 @@ metaitem.sugar_cane_dust.name=Sugar Cane Dust metaitem.washed_rotten_flesh.name=Washed Rotten Flesh metaitem.bitumen.name=Bitumen -metaitem.bituminous_residue.name=Bituminous Residue metaitem.paraffin_wax.name=Paraffin Wax metaitem.spent_cracking_catalyst.name=Spent Cracking Catalyst metaitem.cracking_catalyst.name=Cracking Catalyst diff --git a/resources/langfiles/lang/zh_cn.lang b/resources/langfiles/lang/zh_cn.lang index 55f2c0b67..9ae4c42d3 100644 --- a/resources/langfiles/lang/zh_cn.lang +++ b/resources/langfiles/lang/zh_cn.lang @@ -91,7 +91,6 @@ susy.material.diluted_potassium_carbonate_solution=稀碳酸钾溶液 susy.material.potassium_hydroxide_solution=氢氧化钾溶液 susy.material.calcium_hydroxide_slurry=氢氧化钙浆液 susy.material.sodium_silicate_solution=硅酸钠溶液 -susy.material.raw_molecular_sieve=分子筛原料 susy.material.acetylene=乙炔 susy.material.ammonia_solution=氨水 susy.material.formaldehyde=甲醛 @@ -341,12 +340,6 @@ susy.material.desalted_oil_heavy=脱盐重油 susy.material.brine=卤水 susy.material.warm_brine=温卤水 susy.material.oily_brine=石油盐水 -susy.material.sulfuric_oil_residue=含硫油渣 -susy.material.light_bitumen_solution=沥青轻油溶液 -susy.material.bitumen_solution=沥青石油溶液 -susy.material.heavy_bitumen_solution=沥青重油溶液 -susy.material.sulfuric_fuel_oil=含硫燃油 -susy.material.treated_sulfuric_fuel_oil=氢化含硫燃油 susy.material.crude_natural_gas=未处理天然气 susy.material.sulfuric_natural_gas=含硫天然气 susy.material.treated_sulfuric_natural_gas=氢化含硫天然气 @@ -361,7 +354,6 @@ susy.material.treated_sulfuric_kerosene=氢化含硫煤油 susy.material.kerosene=煤油 susy.material.sulfuric_gasoline=含硫汽油 susy.material.treated_sulfuric_gasoline=氢化含硫汽油 -susy.material.fuel_oil=燃油 susy.material.lubricating_oil=润滑油 susy.material.slack_wax=蜡膏 susy.material.resin=树脂 @@ -396,12 +388,9 @@ susy.material.severely_steamcracked_naphtha_mix=重度蒸汽裂解石脑油混 susy.material.lightly_hydrocracked_naphtha_mix=轻度加氢裂化石脑油混合物 susy.material.severely_hydrocracked_naphtha_mix=重度加氢裂化石脑油混合物 susy.material.upgraded_lubricating_oil_mix=催化裂化润滑油混合物 -susy.material.upgraded_fuel_oil_mix=催化裂化燃油混合物 susy.material.upgraded_diesel_mix=催化裂化柴油混合物 susy.material.upgraded_kerosene_mix=催化裂化煤油混合物 susy.material.upgraded_naphtha_mix=催化裂化石脑油混合物 -susy.material.alkylated_natural_gas=烷基化天然气 -susy.material.alkylated_refinery_gas=烷基化炼油气 susy.material.impure_sodium_aluminate_solution=含杂铝酸钠溶液 susy.material.sodium_aluminate_solution=铝酸钠溶液 susy.material.red_mud=红泥 @@ -594,7 +583,6 @@ susy.material.terephthalic_acid_slurry=对苯二甲酸浆液 susy.material.impure_acetaldehyde=含杂乙醛 susy.material.acidic_cumene=酸性异丙苯 susy.material.rearranged_cumene=重排异丙苯 -susy.material.alkylated_butane=烷基化丁烷 susy.material.impure_kapton_k=含杂Kapton K susy.material.impure_kapton_e=含杂Kapton E susy.material.kapton_e_preparation=Kapton E制剂 @@ -720,8 +708,6 @@ susy.material.langbeinite_leach=无水钾镁矾浸出液 susy.material.polyhalite_leach=杂卤石浸出液 susy.material.concentrated_polyhalite_leach=浓缩杂卤石浸出液 susy.material.kainite_leach=钾盐镁矾浸出液 -susy.material.zeolite_13x=沸石-13X -susy.material.zeolite_13x_solution=沸石-13X悬液 susy.material.lts_catalyst=低温变换(LTS)催化剂 susy.material.hts_catalyst=高温变换(HTS)催化剂 susy.material.spent_bismuth_catalyst=失活铋催化剂 @@ -1290,8 +1276,8 @@ susy.material.light_oily_brine=轻油盐水 susy.material.heavy_oily_brine=重油盐水 susy.material.calcium_sulfite=亚硫酸钙 susy.material.sodium_amide=氨基钠 -susy.material.zeolite_13=沸石-13X -susy.material.zeolite_13_solution=沸石-13X悬液 +susy.material.type_x_zeolite=沸石X +susy.material.type_x_zeolite_solution=沸石X susy.material.sienna=生赭 susy.material.burnt_sienna=熟赭 susy.material.lead_chromate=铬酸铅 @@ -2060,7 +2046,6 @@ metaitem.sugar_cane_dust.name=甘蔗浆 metaitem.washed_rotten_flesh.name=洗净腐肉 metaitem.bitumen.name=沥青 -metaitem.bituminous_residue.name=沥青渣 metaitem.paraffin_wax.name=石蜡 metaitem.spent_cracking_catalyst.name=枯竭裂化催化剂 metaitem.cracking_catalyst.name=裂化催化剂 diff --git a/resources/supersymmetry/backgrounds/18.png b/resources/supersymmetry/backgrounds/18.png new file mode 100644 index 000000000..101cd8165 Binary files /dev/null and b/resources/supersymmetry/backgrounds/18.png differ diff --git a/resources/supersymmetry/backgrounds/credit.md b/resources/supersymmetry/backgrounds/credit.md index b984eb322..96fd644c9 100644 --- a/resources/supersymmetry/backgrounds/credit.md +++ b/resources/supersymmetry/backgrounds/credit.md @@ -6,6 +6,6 @@ Darkaken(@darkaken): 10 Pun10123(@pun10123): 11, 15 Valeqs(@valeqs.real): 12, 16 RandomScientist(@rsci.): 17 - +Mister Schoolgirl (@monfleur0177): 18