From 744f34cda3d61e6f69b55c6d4f9ffa609066555f Mon Sep 17 00:00:00 2001 From: TomPlop Date: Sat, 4 Oct 2025 11:44:53 -0400 Subject: [PATCH 1/2] Finishing adding the Fission Reactor to TFG (#1951) * Some cleaning * Some multiblocks change * more changes * More changes to nuclear line adding coolant * Graphite line * Last changes to Fission Line * Finishing the nuclear line * add impure moderator * fix removal of plutonium * fix Tag Prefix --- .../block/fission/impure_moderate_core.json | 6 + .../models/block/fission/moderate_core.json | 6 + .../block/impure_moderate_core_frame.json | 7 + .../tfg/models/block/moderate_core_frame.json | 7 + .../models/item/annealed_graphite_rod.json | 7 + .../item/impure_annealed_graphite_rod.json | 7 + .../item/washed_graphite_briquette.json | 7 + .../block/fission/impure_moderate_core.png | Bin 0 -> 4430 bytes .../textures/block/fission/moderate_core.png | Bin 0 -> 4512 bytes .../block/graphite_moderator_infill.png | Bin 0 -> 4394 bytes .../impure_graphite_moderator_infill.png | Bin 0 -> 4373 bytes .../graphite_line/advanced_polymer_binder.png | Bin 0 -> 4383 bytes .../item/graphite_line/annealed_rod.png | Bin 0 -> 4307 bytes .../faulty_graphite_briquette.png | Bin 0 -> 5473 bytes .../item/graphite_line/graphite_compound.png | Bin 0 -> 4584 bytes .../graphite_compound_overlay.png | Bin 0 -> 330 bytes .../item/graphite_line/graphite_moderator.png | Bin 0 -> 4394 bytes .../impure_graphite_moderator.png | Bin 0 -> 4373 bytes .../graphite_line/impure_graphite_rod.png | Bin 0 -> 4309 bytes .../item/graphite_line/pure_graphite_rod.png | Bin 0 -> 4310 bytes .../graphite_line/raw_graphite_briquette.png | Bin 0 -> 4353 bytes .../textures/item/graphite_line/super_hot.png | Bin 0 -> 6349 bytes .../washed_graphite_briquette.png | Bin 0 -> 4385 bytes .../washed_graphite_briquette_overlay.png | Bin 0 -> 5571 bytes .../tfg/textures/item/refrigerant_pellet.png | Bin 0 -> 4460 bytes kubejs/client_scripts/tooltips.js | 22 +- .../gregtech/recipes.machines.js | 20 +- kubejs/server_scripts/tfg/events.js | 6 + kubejs/server_scripts/tfg/recipes.nuclear.js | 195 +++++++++++++++--- .../server_scripts/tfg/recipes.space_ores.js | 4 +- kubejs/server_scripts/tfg/tags.js | 12 +- kubejs/startup_scripts/gtceu/constants.js | 1 + kubejs/startup_scripts/gtceu/machines.js | 17 +- kubejs/startup_scripts/gtceu/materials.js | 2 + kubejs/startup_scripts/tfg/blocks.js | 28 +++ kubejs/startup_scripts/tfg/items.js | 48 +++++ kubejs/startup_scripts/tfg/materials.js | 13 +- kubejs/startup_scripts/tfg/tag_prefixes.js | 17 ++ 38 files changed, 394 insertions(+), 38 deletions(-) create mode 100644 kubejs/assets/tfg/models/block/fission/impure_moderate_core.json create mode 100644 kubejs/assets/tfg/models/block/fission/moderate_core.json create mode 100644 kubejs/assets/tfg/models/block/impure_moderate_core_frame.json create mode 100644 kubejs/assets/tfg/models/block/moderate_core_frame.json create mode 100644 kubejs/assets/tfg/models/item/annealed_graphite_rod.json create mode 100644 kubejs/assets/tfg/models/item/impure_annealed_graphite_rod.json create mode 100644 kubejs/assets/tfg/models/item/washed_graphite_briquette.json create mode 100644 kubejs/assets/tfg/textures/block/fission/impure_moderate_core.png create mode 100644 kubejs/assets/tfg/textures/block/fission/moderate_core.png create mode 100644 kubejs/assets/tfg/textures/block/graphite_moderator_infill.png create mode 100644 kubejs/assets/tfg/textures/block/impure_graphite_moderator_infill.png create mode 100644 kubejs/assets/tfg/textures/item/graphite_line/advanced_polymer_binder.png create mode 100644 kubejs/assets/tfg/textures/item/graphite_line/annealed_rod.png create mode 100644 kubejs/assets/tfg/textures/item/graphite_line/faulty_graphite_briquette.png create mode 100644 kubejs/assets/tfg/textures/item/graphite_line/graphite_compound.png create mode 100644 kubejs/assets/tfg/textures/item/graphite_line/graphite_compound_overlay.png create mode 100644 kubejs/assets/tfg/textures/item/graphite_line/graphite_moderator.png create mode 100644 kubejs/assets/tfg/textures/item/graphite_line/impure_graphite_moderator.png create mode 100644 kubejs/assets/tfg/textures/item/graphite_line/impure_graphite_rod.png create mode 100644 kubejs/assets/tfg/textures/item/graphite_line/pure_graphite_rod.png create mode 100644 kubejs/assets/tfg/textures/item/graphite_line/raw_graphite_briquette.png create mode 100644 kubejs/assets/tfg/textures/item/graphite_line/super_hot.png create mode 100644 kubejs/assets/tfg/textures/item/graphite_line/washed_graphite_briquette.png create mode 100644 kubejs/assets/tfg/textures/item/graphite_line/washed_graphite_briquette_overlay.png create mode 100644 kubejs/assets/tfg/textures/item/refrigerant_pellet.png diff --git a/kubejs/assets/tfg/models/block/fission/impure_moderate_core.json b/kubejs/assets/tfg/models/block/fission/impure_moderate_core.json new file mode 100644 index 000000000..4131c9ab5 --- /dev/null +++ b/kubejs/assets/tfg/models/block/fission/impure_moderate_core.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/fission/impure_moderate_core" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/fission/moderate_core.json b/kubejs/assets/tfg/models/block/fission/moderate_core.json new file mode 100644 index 000000000..a60e80372 --- /dev/null +++ b/kubejs/assets/tfg/models/block/fission/moderate_core.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/fission/moderate_core" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/impure_moderate_core_frame.json b/kubejs/assets/tfg/models/block/impure_moderate_core_frame.json new file mode 100644 index 000000000..7071d37a0 --- /dev/null +++ b/kubejs/assets/tfg/models/block/impure_moderate_core_frame.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/fission_component", + "textures": { + "infill": "tfg:block/fission/impure_moderate_core", + "frame": "tfg:block/empty_fission_frame" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/moderate_core_frame.json b/kubejs/assets/tfg/models/block/moderate_core_frame.json new file mode 100644 index 000000000..b5677850f --- /dev/null +++ b/kubejs/assets/tfg/models/block/moderate_core_frame.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/fission_component", + "textures": { + "infill": "tfg:block/fission/moderate_core", + "frame": "tfg:block/empty_fission_frame" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/annealed_graphite_rod.json b/kubejs/assets/tfg/models/item/annealed_graphite_rod.json new file mode 100644 index 000000000..d9c6a5056 --- /dev/null +++ b/kubejs/assets/tfg/models/item/annealed_graphite_rod.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/graphite_line/pure_graphite_rod", + "layer1": "tfg:item/graphite_line/annealed_rod" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/impure_annealed_graphite_rod.json b/kubejs/assets/tfg/models/item/impure_annealed_graphite_rod.json new file mode 100644 index 000000000..d9c6a5056 --- /dev/null +++ b/kubejs/assets/tfg/models/item/impure_annealed_graphite_rod.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/graphite_line/pure_graphite_rod", + "layer1": "tfg:item/graphite_line/annealed_rod" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/washed_graphite_briquette.json b/kubejs/assets/tfg/models/item/washed_graphite_briquette.json new file mode 100644 index 000000000..e61f8159f --- /dev/null +++ b/kubejs/assets/tfg/models/item/washed_graphite_briquette.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/graphite_line/washed_graphite_briquette", + "layer1": "tfg:item/graphite_line/washed_graphite_briquette_overlay" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fission/impure_moderate_core.png b/kubejs/assets/tfg/textures/block/fission/impure_moderate_core.png new file mode 100644 index 0000000000000000000000000000000000000000..cc5ed002b2a2d03c21efd2cd1e179c0c595eeb03 GIT binary patch literal 4430 zcmeHLe^3)w9*;oP3oU}BNG*(e%T)@x$!?M*$sPeC36M%K6QT#sRov_k*pg&JvXH6~4ec$JOzTfZXeczkBG+1)8o{}z>N+gn}OxXr2ct(oX{JG%1WMqs4k296Fe8Eck zAh(BSIR^s?6>bJ%{2VKh_`h~q^bu#E`Mo2JRUskCY3F)eUFnx@$dj)Oyt`dfx05yO ztxD(pWtPaTZ{ctL;jfTUx@K8);;n1dic8O>HW^<#tzX(%RngP@a4c`Zv0v4_yrwto z=G{N_EHR5Sy?B)8db@kS{MSIS~-2Y?y)AvHPtp%UwCKCA)$(&j)Bg10K z$e73nWU;$yn=ZS5McmoKye4Zh%tn@eVrjYkHvC4n)OaBB<+`=;IkHEuE=5d@O>NiK zx$jY(x2|13e5m#iG=F3DvGCkRnf3bE?^ia(E_ma?_jj)j-HnG-%W^)byk70P#1cEV zc73?!;OH}C7`7?WP*>2cEy(@Y_sW%oj|NY~Uc8?^dgHsn`!S&*3rlx@m9xuV>u100 zD7~5(Q(*dh)5V6woa4~<34?34{9Uu?r5OLa#q1X&XW&lTZF_f9!KVWa?G0_sF3YK{ zKjaVfo-H^sQ1GDjVcoXg&aS_dHMeEkqgHMGrQR6N*fu0&9@00~sqQ4c@-U&JaOsX0 zI~1|n7)xEm*&k}hJ|1?x-#75ij%br)-=cH>iVdyw)vWC=J+&piy(}bbPtCHnp(80Z zmsfxBTs%@4_M{_p(O|s!N~p|N{cU@*J-H+Loup{#M-QH@%8Q6S{zPBNdj3w;?lj4> zx01_3b zZD5tkt&Ep1^H7YjoN);W(OhsT?0#hTXia@8~ zd75J@{uf$YJy2?J&a*i$@Lv%y1(#GFQyOdqn+`6pmLMpwDhQGarr;&Z89ERr;0kt8 z#iXl<0o%uTy-wJdG$;jX*J`w^mQ)6_nq>F#tl%R( zjJ^oy2($wA8PE!PAvlFej|bx`X2kgciXj+^Oev-rS4=*hv0U6WCQ?q7|CcDK0l>6v z28;{Z!1e`pL;2)(I4&9p_~-nLPsY#b0)l3p%t+r^xn|{>kpeRU&sNv0Tr*N&M&Q}% z`oGB~ojOo4F7PwR2aZdh?kPMDj#_i=tFjD|G4Z?iWczkt`Gq^Xz$=kN^o!S=bNm4s z80QHlvvJ-{Y3RbI7rx+%6#pLh(PYruG=JW|U7y>JMj8t#8|-|D3O`BvEaBfes=EH&+KZQZh! zu;=-=E*|c_y&&t~r;4b}ANHoE@9WM?GJdI&e8+}Y`)N-vP_|KrZ1+I30Y zv8^4K&2KJQUUTEU=K2r9F8FpH>}tX9ndg;!3m=UszwlD{;X1GKtKZd(Z27GISoDR6 z7dPcyQ~R6s2%KNSr<{*l4*Q3rqV9g(Q>AN3!%oCwne`;J-!Q)>a%JZ(Yo9i2bJVcz lLI1YWxYMuQOdopq#KzX6i}l^BJ_8C!OvYS8$I1<_{s+iWNOAxG literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fission/moderate_core.png b/kubejs/assets/tfg/textures/block/fission/moderate_core.png new file mode 100644 index 0000000000000000000000000000000000000000..d8c877a5557fd55156016f03461763754e78df4f GIT binary patch literal 4512 zcmeHLdr(tn77ySmrAW~t#4fnEp#`yXlbiQr2?``iwggfLNZ3`lx%UPxBRs2em?hXGXWkUw*}>#Xi_^=t*w(f%Q~DgRVtA)Uk2nkEQ2Z zu=2Xu>UP_eJ&eZeQ|}?!`8y)-;+Db1Y}fY-16B8S_GW+QenH;zYK%yGHv~@=pJ;fa zcXT-P%dpG4H@`8oNGnfrF8s`|-xc~*!B>wrHeOwDB8BR5U>T>&j0)pR$FWcH8}jglgss+a7)U%@+gTL_mVql0S0YE;siXWP56koyz!N zYymopyE#}l!j_5 zgW4ZdxG#*D8(Xd&+7+T=ycc%yA=A(0SfANibZ&b@eX;MX1M6R_8#p3b|F_hhUq-;L zS%F5su}(_`Xx;vhhjnknjbAJOAlh6{zXgSYRhohzBtChua^}2g@^kN zC_7e5R>AprEvkVP8lFD5flnJ zO-8d_=9IHMyfSc4n>j4V1EC7#tSq$#O0?JrNWd1b5m@OYOL(lf04Uam8)RvU<>M6K zNzTfrD65RaaX1`o2cK=R<#D)Dsg#58I6NK<5U{<}OrcKLY>%WVyc`O`j@d{nMOw@d z&57zQ#gv@I0^`s`d?u?}JxOo2kE;Om;5bn$hs#DdCKG4s8+J-r0!YRK`pGx!S};vH zX@uQUY{Lj;31Oxpr&6p?sWp=fbV_-o$?8c8i1&;$9Gk>hi)}^^2FEyrkuU*LJBW|_ z44xtlPsMsBHhRR9&eTAFyGj0M&=a|PzyPII%M=!@n0BgC$XRr}GTefZxXg1a#Q9ty zA>hN99>rh*4(cIA2ocOP2oN0Si=;d;K7~qUwo|AXBWNl>&L#m5fk+S$F4V&WCXm7c z15X0$C1NRz@gxG2FTx}OAu@#`)kcD@M2%CUqN#8|#g!QND8`e*gdP!rXiz;YA@o8R z6Z3Jg1QnqogEtzw4zhTSO3vc3z2qK?#)wh|i_IiwsZk6{P4~FM?nzR60@QeeymUNzYt@AkVCjp_n%XJ6b|` zB?esHAuJy?=MiA}81L5!JNXm6z!PH#j|Vycl@K`S1(1neL=domZ;?73fcoR?uQ^31d8>O~M`d1YIAX7|ccBr;72%72}L&%%N9}iIihG z|0PPS2QX!s0q=QjVEF>8A!l+q92X5l@N<5~i}7>1fS?&C)6#cFt{J(erNFenGu<^K z*R&Lv7I>z+{%>*xJl#+cX7Dq}0k%uNTd@sbt2JBy`U(ZZO@H70xPAw)JZDYP*%^$W zR{HR{XgQ1n;~Yw*R?fK_;5UDs@O;|E&0ssdLZyh;N;==#(OJ-n1S`9>QG5G79ZFxb zr|*e7=dxda!q5=*VWtmv)g{;N-90*0Lf${SdXrB4y^*(x`=)!No!#_&`4vO!#dY20 zv7luc8Ciufo%3rR{^_rOL79V_e%*cNYP7#KBSWC}Yd$*6IJvrue-K3LE~!3J z^Qz|3{=tkB2WxMhZUV7osG}D32W7mKy3>%WJ4F^~(b}P&wzc{9AG|a)7FTp@AI5z1 z%MYFD84E54HvDT=>eV(Zyr}D8=nuEfAyI)U|H9$G>}91}Bg;mrJ92L5j_tX!Dcaq2 aestZL7duvd3jU#BFjUGEMN>lVhW`L69)OJi literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/graphite_moderator_infill.png b/kubejs/assets/tfg/textures/block/graphite_moderator_infill.png new file mode 100644 index 0000000000000000000000000000000000000000..e16f6ff4e6dca1a83407e3912d2a577dc296331b GIT binary patch literal 4394 zcmeHKeNYo;9$o|mBO+1@*vhypR}q}e_vc=MA_)>pAO`%1H?3~=16D{jBnt@~+<;13 zphe-X!xcI26smV>>4<}#&{_p;Pp>mbwWYRxpy=pzlvq$})j4BcJ{ddsq-^Ej zmxTe%z^Uke5vH06< zi;kC`oPA~2#btuEMe`CPcZx&VfI@AJrLMHBtLWlpX>DHl)nh%of7@d{abnGj3%ddq zSc1sV@}m7I_BW8^H!WdzR^7jFwMuxK$vk#->6Hd+XxmeWfS`aKOiGH`n36Kq4rrpO ztWKBKy=uw1Em<{|M1&46_=ovV_xB^U?E=GJ!?#s#h)EYd-@XhrR@XH5Z+1Q;j(*pF z>&W39hvAUlmH&NSMzzp#Yova4P4t4=;U5OC4-Ce@@)hYPN^X@qzNWGFcDJ2e|F@wR z@gT`t;rdEzyT+Pv##4GN?sQ*gbkC!eLwE1>J&FvR6;aUiW%?fP4ljMFwcvVuq}AB_ zR!>!YdI$VNT;KX#H`GzDMS2h9(qBA2iyY0qZ)>lyp1)jmu&TMyVLr9{$4vttowI&; z**d)US!LZvN83IxY-~=mEqrx%Y_cJS%HA56dN{edQvM*m^jTc%mSqiVTcy#ONONV_ zxgU3oocZ4ILD%J$hDAnbU({z$qXSDk6&tz>PVI_0SU4-_&lM}02R>9*T*>_6=(C9Rz7tdYw3t zM{%%?%3&NjOcH3l7$C4y91eT! z`3^Vc)geA!3|#YJ5d!-lT%HcuWHQ4ktc!x>Lb*_k8oW%A6iE`mS{F%U7Jcd{1-R28 zxg6)jL?VyJBlO6GtSd(((P%Uxu~a0Lq5y%qiya*9MIG)qp2E+er`&{#adHgnfO$^b z#ujoq1OemlSbcV<$uv&yaF410^bmP*r${0ci|lsMGkNH@+u1wGcg4-8Ny6Q*a0LO!WcuS58HF_I-167yfmYEc zWvE=LQJ@;ahNEgqNs84PwL~SCPogq9+#K#8D4q(C3mL$pkSTFot;SIqMQc#GQcR;7 zN-jgyv`j6QNhKt%lun|^bTPn{c>d(7cq$T5DOEO!%0>_apq^dKuRgK)TRVBAk-36Zc_j!se!QwQb}r5Vu_6=lvCN=EX{dv7nPg? zbOc%ffBLk7m;0wMVJh5{OY!pq6hkFIrE$gNql$?}I~MV~##qZ*(SM1e^#LYrGvGOY z3~XOuHx!L;hohqL8_zHJ8J&z@Faw~TNir>cXXKiZYg!6S3q0el8M&sVz_h?K?)tyU zC75`jq8#9FkO#aj?fKOs{^fs;?bS7UXoUa%<>Q0D2a&nXG^-ne=DooG0-(mGXb=qM zj3z_yzXX8`D>%(1Sk zU{)`WE!%cJuCuuEe(g5QUHivhKg10igWvzdPfz#W)pWd)+xY2<_o1(kzk^4IosSFJ zxc<&#ZM-p}$$hpU{k6W3SncV|kPU0=4kUcF`A9oNT8lo{4t5Qndb8ol(j)DkMt66# z_WtHf%oBq%DrxRdsdt(>gO(lI(U zR8Cp9KV*VehukQ<)_ZR_DddxuhuX~kh-dHqdo~+&NbyZ|?<&w9WHe;xTUT%0{vT#< BIw=4E literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/impure_graphite_moderator_infill.png b/kubejs/assets/tfg/textures/block/impure_graphite_moderator_infill.png new file mode 100644 index 0000000000000000000000000000000000000000..f22eb5c27bd0fe8f0563dcc34f6ffbc4fceb2a6d GIT binary patch literal 4373 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/graphite_line/advanced_polymer_binder.png b/kubejs/assets/tfg/textures/item/graphite_line/advanced_polymer_binder.png new file mode 100644 index 0000000000000000000000000000000000000000..b1be41c545ec2f23ed35699ece95f8f83c09cc4f GIT binary patch literal 4383 zcmeHKeNYo;8efT83~IqDqQc#pC>H4^yPFS^9fAcCAeCSaQYD?Ky4ep{$rs6DLQbp5 z;fZz-&+9n#&_i&_^*jNYp;oD0!K3F1j+Sy~uMXPEdGxHxsnar6dfdASpL3n*FmwHn zWH!6|Jiqt%JkRfa-goj=nsYK2h?k2Y2wGsw(&vJEq;Q4L1;0OiGD3n|d%%*<=aN3y z?QyZ3oq_pMHv=<%j)frqXAX1f!b|Y{wkP{_D_5269k||l_?vRwu6K+LEms$PRGFBx z>Os?hv~RAasHY|0(YmPCw89rI&0MEB{FB%@$87f+4z?H0b3W?Xwqw^f3X}0%`djO( z`!3}d)N}v1xheA5YO3zU+3;;qtL|r1?S6Qz?lb$j6ta)o`_x$8`_D7G?#;P*Q~V!k zcN@L3dEZkA&oTD=a#no1`Fhw@+g7-vxq8>ni9@&krm;pm9&XQvpjqWydb-(|o<3F# zD4}NOAzjv`mt#A(ReD`6vxFPo3uuai`@iVeSu+*YwME?f59o_NH#|3LlcuetwC zow@h6vq#xdBi@ElA-O#|7Hy%fe!WI?R{5AVG{&GM2Nn`P? zHPKe%$NR2TuE{f_26yI($}N??-a5XoU6IL5M7nsF+1e}(eFnjOQ^#x3zjUTMT* zw9)2@g`HoQkF*auPj~d5JhIpboml$kr!k^{uWaL`;)@648cM=u|F$f#zQ0Lb_V*1v zE8>vA?D=-l(i?H6K9S6~`-_I7wzZ9mPbMrDfB06q?djNdM?0$-pV&+6O_v#BWah7k@+2N&~y-# zyw2|?sUn7lZA<~@)JX>0{wRStS|{10GNC4SI#bAH1w2e%Ajd)liYP5DS(hSC_7i}> z!SE#Pci5d?!mpDAc?s|=nB@{U2;qx#l6;dHPIq}2SSeG=P{iQpw&Ri%F`Vq7St3`T zF-ig6bdo}zcN22C&*zi*6f&2mK#pm(S~-f#aU1~%#9Qj*Nk8KBN(G7#ho13L9?s2k zE+;H-k~UWfuaiiCA0Erk;WnAZ>7CwD6@VUcKk1fZGF0wx$S05R@`mkzWHh1g9pSZr zB`VKlysi=t#Td3TPF^~hBGYIxk244*6>tuBuqYtjlwdS9j&qlI>_H4o$r(H20Hj`! zA2tQgbL@mzQ*skL!Ez=i0>X{+PeG5>9s~oF$wcT~REZGOsMkq^dh!aNYEW}{Am%g_mn*-rAT%j3{VOe6(w$eZw3I0uu*lY(kkl1i(> za22M)lxj7mod9iQJYLXo0x5>d6q=xirictcNrKMd9Ap6_cRLG$4q;vhPz_L)6dDyU z2koF3BHhD~yvt*8x$HWLkSr`vj=N1@J<%jj>Pemf(NJ7PU?_nqESQ48HH1Qeph^Or zgm=*#Tlzz2VfDbtp*hduydZvQ&=guyc}#KWE%a*Vf@=wegR6odsZa@Cayvr@^8{QW z7gb0)3mC9{jP~o8o%^0%P*S*7fhN%iis2NZRBKSgMyoW4npG=E8)z}DDx~)~yVu3? zKGMUa762WAR-iwFTEQ=drZ8b@GQL7am>-}Rf}zNSVyaQa{!x zOxk9^xR4EOUtl+sk8g*gqJe~e%+Kg#{FotNcqYiS^qrAwMy_coFfH&*cg@H(Ed{0p zp6Ratn_S|F0~O;0e}jDBxRlafnxwiG0dT2!W)?R2h3@r29SynFuMZ6$fv!J6j zF~Im7Z!{U6`EKb>WG`UpHPS+sYFc z^P&^SRt|R6zWc_K<&k=CW75ycj(ibVaq~Un@!LZSAkDQWhep0C`|A9Ae5Y6&ain%= z^T6G2i(}W;g>|)DzBss~=ClZkQW^H1HN{@Zuy*NB)+g(JQTy=s@m2ldgBRk@E?<`R zm&I*6M9W%U?h3pam9Tn~wz>JV>Z5%J2~P2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/graphite_line/annealed_rod.png b/kubejs/assets/tfg/textures/item/graphite_line/annealed_rod.png new file mode 100644 index 0000000000000000000000000000000000000000..82858ed836c746e3145bf9a6b3047bd8492a93a9 GIT binary patch literal 4307 zcmeHKeQXow88?`w%s?6-ABGa`c3}i)&*wXzo!k)zLL3s4I9Q2+xEmzzeb~8T`yBfm zJ6_WUvPcb?AW#7-kkU3?vngv3)uL``%K{Ybv#JW2NL!V4pwWTCS1OinfU@__NpQ4E zQ>693*gD_c^Zwr7`#it*c^>&~cUG1z(k<6%G@3>BGFuhArzzL`6!`nyuf_qqeGqrm z$W-~7;=)KJJth-<5kf%zW9muLY(`b1Jnh-GZP^uuhkI6G z_Prh5Upy1M!=1YE#g$+7w)P_PpKtl~g37&ysw?9MH+JZs*mwW#t;<($Wh2y674O8a zv;>Ad%*&l`|7Pni#xlS>;>9#uo4cQOSDuMJ_j%6XrFZoojjkX2@*kH*GqrP&kz4c=eYT%D>Pc{uV_<-imHFJB*HCu~09T#X~}Mywb(R zcX2e2t}oOT#28567i56M{Jub#iCIyVmx0fU8AlNnBJZ-IH4Z0IEQJJwGEfF1RuU5% zNwiRh6ohyWQ)SyUK>^>aXuT{4861yBqlT!-Aced*LDMvDByp0&AOZ_F1!NGz0^uBm zBEex3!dyrU%AyoN6i&cO5!s5Oa2%QR&mVL+rsxCV2^F9ocnkz_!eGSxemr?bST1RV zBohvOhNmTYgSOx)3P^cieL4-WC(PN?V zj4TFN%7Rf8OJl6X00 zW6cDO(H0YzXU+$C6lYYalzm`|oOUZp8j>tdACNs#$Ztg*fJ3%aKf=01zfdg$MKuCC zW+u!8MO!TJIpLd1xJ?L!Va6$>gwbHiSEutFvk6iHm^q>!cm+Hd@TvpKzA!Kvs4P$t z6*8-K7z|S!5`Zj)T$1Foq6#;nP)-dyU_J3b1~woIa5W=oW(Xr=G`R?hAxH)mhLK{7 zNqC7DJx%`$tyB+Ekl6DwF$~vlQca1Hsumg&Z;4l*sMZpKs8zuLE)hZ)Gzz@xC*(>D zarGeJ6=3_A$k$1`_zk&W5=;~cMa5Xak{D$nEf{U~u$YOX2{Xw9Gtbl0*~5}Yj)IU- z>@MLcUG=hxn`umjKH(mH7nPQ6qpfsHoN|B za_Jr&sDuFg8x)1drS#nGSKv`Ag)J|&X~vcBtMB)`1TEhQmbt?kP3l?Ynv=15a|<*+ zF54X?k6+hmmn_VVbZ7(6^dq~i$d&&mu1+697$%-^{%Ci1_sN5AHJ#b>*fT4i+>r5M zS6A0-!<1>sg^?RKKD{&g_wt+NM-1ktcMQ0Wtvr_Xbj_<y5|bi}2dhLzmx?Y9F>O$kMl4T3jElPU-Akrq%294|3_jloc9H16MszYV$WkH#GK= LN?YH?x;_5^FzyCl literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/graphite_line/faulty_graphite_briquette.png b/kubejs/assets/tfg/textures/item/graphite_line/faulty_graphite_briquette.png new file mode 100644 index 0000000000000000000000000000000000000000..93220892d47c6de04eff05f2bac8e80d1c5097d4 GIT binary patch literal 5473 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/graphite_line/graphite_compound_overlay.png b/kubejs/assets/tfg/textures/item/graphite_line/graphite_compound_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..22ebdff8abb544e0997ed04b177ce7e09422a81d GIT binary patch literal 330 zcmV-Q0k!^#P)*lA%rmVGxABUQh^vXe~)kaY+?TNEOLhQd5Cg9s+~n z2~Zf`0MikOng)TvV!+n*1!xmMqA+vGpFh_I*RX1{JF_#p{}2B@I@_8Nap&|%(nTAl z*hZFg4NQUeh= z4_SEsnWTw{4-TcE+-NVpAO`%1H?3~=16D{jBnt@~+<;13 zphe-X!xcI26smV>>4<}#&{_p;Pp>mbwWYRxpy=pzlvq$})j4BcJ{ddsq-^Ej zmxTe%z^Uke5vH06< zi;kC`oPA~2#btuEMe`CPcZx&VfI@AJrLMHBtLWlpX>DHl)nh%of7@d{abnGj3%ddq zSc1sV@}m7I_BW8^H!WdzR^7jFwMuxK$vk#->6Hd+XxmeWfS`aKOiGH`n36Kq4rrpO ztWKBKy=uw1Em<{|M1&46_=ovV_xB^U?E=GJ!?#s#h)EYd-@XhrR@XH5Z+1Q;j(*pF z>&W39hvAUlmH&NSMzzp#Yova4P4t4=;U5OC4-Ce@@)hYPN^X@qzNWGFcDJ2e|F@wR z@gT`t;rdEzyT+Pv##4GN?sQ*gbkC!eLwE1>J&FvR6;aUiW%?fP4ljMFwcvVuq}AB_ zR!>!YdI$VNT;KX#H`GzDMS2h9(qBA2iyY0qZ)>lyp1)jmu&TMyVLr9{$4vttowI&; z**d)US!LZvN83IxY-~=mEqrx%Y_cJS%HA56dN{edQvM*m^jTc%mSqiVTcy#ONONV_ zxgU3oocZ4ILD%J$hDAnbU({z$qXSDk6&tz>PVI_0SU4-_&lM}02R>9*T*>_6=(C9Rz7tdYw3t zM{%%?%3&NjOcH3l7$C4y91eT! z`3^Vc)geA!3|#YJ5d!-lT%HcuWHQ4ktc!x>Lb*_k8oW%A6iE`mS{F%U7Jcd{1-R28 zxg6)jL?VyJBlO6GtSd(((P%Uxu~a0Lq5y%qiya*9MIG)qp2E+er`&{#adHgnfO$^b z#ujoq1OemlSbcV<$uv&yaF410^bmP*r${0ci|lsMGkNH@+u1wGcg4-8Ny6Q*a0LO!WcuS58HF_I-167yfmYEc zWvE=LQJ@;ahNEgqNs84PwL~SCPogq9+#K#8D4q(C3mL$pkSTFot;SIqMQc#GQcR;7 zN-jgyv`j6QNhKt%lun|^bTPn{c>d(7cq$T5DOEO!%0>_apq^dKuRgK)TRVBAk-36Zc_j!se!QwQb}r5Vu_6=lvCN=EX{dv7nPg? zbOc%ffBLk7m;0wMVJh5{OY!pq6hkFIrE$gNql$?}I~MV~##qZ*(SM1e^#LYrGvGOY z3~XOuHx!L;hohqL8_zHJ8J&z@Faw~TNir>cXXKiZYg!6S3q0el8M&sVz_h?K?)tyU zC75`jq8#9FkO#aj?fKOs{^fs;?bS7UXoUa%<>Q0D2a&nXG^-ne=DooG0-(mGXb=qM zj3z_yzXX8`D>%(1Sk zU{)`WE!%cJuCuuEe(g5QUHivhKg10igWvzdPfz#W)pWd)+xY2<_o1(kzk^4IosSFJ zxc<&#ZM-p}$$hpU{k6W3SncV|kPU0=4kUcF`A9oNT8lo{4t5Qndb8ol(j)DkMt66# z_WtHf%oBq%DrxRdsdt(>gO(lI(U zR8Cp9KV*VehukQ<)_ZR_DddxuhuX~kh-dHqdo~+&NbyZ|?<&w9WHe;xTUT%0{vT#< BIw=4E literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/graphite_line/impure_graphite_moderator.png b/kubejs/assets/tfg/textures/item/graphite_line/impure_graphite_moderator.png new file mode 100644 index 0000000000000000000000000000000000000000..f22eb5c27bd0fe8f0563dcc34f6ffbc4fceb2a6d GIT binary patch literal 4373 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/graphite_line/impure_graphite_rod.png b/kubejs/assets/tfg/textures/item/graphite_line/impure_graphite_rod.png new file mode 100644 index 0000000000000000000000000000000000000000..3672ac6d2c60d2964404dbf42f3f80a7e2ac273a GIT binary patch literal 4309 zcmeHKeQ*;apW&d)cjt9AV{Ju$5IH-Ny;&LB>a7_vxkGH&!f&_xsVH^ zfuQ6Oy#SRf0{{gP(Ssn7?|hD|@vZ2%L!Gtehc+XZP4czI?iD9@i$|UBxsH~%pIE=X zqw|I8V^7v5&su`-pB&$4%T1ks{Of{Ev(i^(6+Pbl6P>(tBk|1Mww~SHIk|;b9e0u& z3k-igTiSjnI`(E=BySs9G2ywHpB>-$W8C?A>mIRXF84%f^><^cZs*_nei3tHS#I0y z+Z$II_f(}#dd=lSW~Pt2-ik~T9xZ+G#kjv`hSyc!``2m9f8w)7yT0!#IFf@PaaCe= zw!@a4-4_vzW9RBE=A70iXS6LZsw

d6LS$aO}GJHn!=Y#`Hz3 zbq$x627VF_T)EW#hkaH1(9tif`EYE0t+uee=jHizDHAr`{rUQZj_awY{;|BjMBCT+ z|LI|0-~7Q}pWfRwg&RR_NU~JB4w_u~N5apaPdj|>P|C@h^SXZc@!ZX+3GvBgJJ065 z5vhuJPB)ibNT2Gm{bR$)n)JMn(4W)JJ^j)}e5Usi3k{#yF; z_tKh|KeGL)W?hPDs-t>*+pVgeBRBl}kDh7VKG}x6HSO4)l!Rz_?c&z5PhLuGDvuwr zd+lQl9q(tX{kGuL1F3j)#5ixlv~#KU^9kDUn#)Z)_&Lp!8)r|}9KJh!bYa0u=~w2IC(M`;-(fwmtgAA-JS_Fpi(Op_vs;2S8{N~oVc|tZSYXBWJXVl= zTFx!;KpXJ|VC5l5=DbLN6IKElj+(aEQP|m42Cv;QmmW zLJ{MzfRGRr1F|UjQH7J^rE=MfVQ?Mo^UoKs+xzMLp=7RfL~4Adn0L6XoGe7xMn$eN8QO}s}gBF8e2v(dzN|9RHsIIsLb^)a1VC9HDt^^PPe~G%FYFRV(z-SPEwkhKEamk{_rTPC=FW71Q-9M)XEZC{v>^{V5 zujD?}lsIN$@YJk}-=1pe0dHR%vu5TGUul}QjokW`hVJ}hc=3nZ=I>`pYIlXcNolCR zOH4w(PKvJ?eRgTn_VXH#=Ss`P&nu)$d*hH>7q)JA{BqseDKp2_A3lBkPfJ!m^TeVv W#fx4!7@r8;Ky220OY{5{>;4Nonh_5G literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/graphite_line/pure_graphite_rod.png b/kubejs/assets/tfg/textures/item/graphite_line/pure_graphite_rod.png new file mode 100644 index 0000000000000000000000000000000000000000..ad20fe3d6c00a1af7afcb0d3e70272c79333d4e0 GIT binary patch literal 4310 zcmeHKeQXow89!oHXi6ZRXktjBT`y80Y0vlJvtwUlG82cyZ5*t`Wij0d?|mh=*gnU; zV8?*5pe%duoKLON z6lwi0wtOGY`@7%sJiq68ANg9n6{TsZi&GH1V#z{QZqX zXSZy*d-JK5w~^9&ceMSj!@Q{Lv8&Q@`Q@B!_xyits@VU}fpcr?PafOZEscy^FI~NZ zGe2i?-d6c1f05tWcL+T`m&dGwj=hQW_~JpsN9!}LzIOHYmSE2V>`LSLtmpVrF)_Tl zE!el@@SJxa#ojT#XGhMsX9bOCW@nvc%FU;YdzZE1fBm?#VhiEC;U8*wq2UOE%-Sp$ z7kk~s#bX)4Ja%o^?kF4harWt&s`ko!OiFKf$NTH+FJsRhNG;i${_~bqIpwCin;yd5 zZS8wLSsnfdzyI@3hF;&dc^^9WspdEDt7tP-4vp+s-fmp*?47S}T)uK62W1{EKa?11 z4*gkTf3@w6-#zi_@B?5r^>n(c#ecx=uQ(Z7e<}CGg~P^kUl$F3dhNp38HSV}HthPK z{Dt`Dxb&yqhRaJb{O-Z0&$TWoe+&I8_reofKelE5EF=C(o%H_AQ`mmrb?!jB|M%xx zds_E&guKVLeN%nq$Z3DydH+5g77jU9W+xceX9_Mo#QNA#`DU9r#E*1~+T zWc|0fy)_R#|5z_=v}br*=AZs%^T^3BL%-=i-}U@LH}X>E+qaB{L~P@#frevSb9x$6 zX7Aqk@SZDu){PfezMqwYCuYwJ7&0&9crF=CvF5+@ba45-3%l|brk=R7XhYR}<6A%I zuV15lv0>LTWYOpOjfU*(lq)4?*9d>lh%!GZn6;vqfZVzEvxOGLz~M1_w} z)bn-$D_WLX7-u0tP*edL4+cU}HtxW5UKU(BC3|G zgCwH?ediNVAKa%zr5IHjBfMC$P7JBJlPOBw9`87VmQt-84C_fj@uoNv_;FmgF%r-* z0#AqmF$hVcFg|JuUX`T@v8KePt?21Y4g|Uz=bwTe%UuUUl*hxm6uwb&>UKFWEnZeo zcv)ceOIrag+9is^?Y06AXBc<@fVAMiS|IT>RbVC=eiD^C6jecp7d0wKZjvDnN1I97 z%s~o9AaTabkvIncjax0eg%?Orz)6-#6e}Y#>`D-r9F;~TKq|XcU>HWAaN2IM;|#FS zxJ|N=I7Qnji@;kM(gJiUtq!cy>vmwYiJY)_13;CONYH_K0FSP$nppA4L9t2&nrc*m z#crW!+D2N;)&i?}0<=nuL}ABiq!ei~+w>KIXIDT<06Rwxf?AOXhidf&tu8Fg1}Y1* zMup6}9VWvTM?|115uc(29GDg?s!@(Fd*FT&fC^kd6`?nhwy+e*l4c)eW@&~s+i{X% z$w_!ckfo;oh1PZtT9~YPnH+`wn{-ohOI3*t$-CrjK-TvXit4+91$;7vC|D;7dYq6e zxy09jP^}2Z$7sKf+2!x(1zHpt&IZc{i$&oK#qqe!MpL+rHrqv#rg_22O=XWNk{SaM z(OC<1gj&J=)U`sFCQFz%6&|Y-wfaECaEipo6=UGFt{5?zF`-S3v6Ksm{}QE82TU3> z@VTT7jxRV3iScnbDw;NUzQ@mKF}_C+kb1_+wDg^kYeueVDKIVYOn1%5H7y0E1)k}y z|C?N?6E9R^2>uO)E2`_$ zx)+w^IsfP{pHq>&y!pe$?KOtq?o30myzUo2WKV59k$)rQ(Va&(+}d5V+tATmop$@6 RZ7+-iahFuMdY7-=^dEj<5sm-= literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/graphite_line/raw_graphite_briquette.png b/kubejs/assets/tfg/textures/item/graphite_line/raw_graphite_briquette.png new file mode 100644 index 0000000000000000000000000000000000000000..81a082490c36a3ce5ec203afbbd23d090af94ddd GIT binary patch literal 4353 zcmeHKeQ*-*0X^lji1d{41B(?Eu`2!qI<^1G%!d?;thuLJ*Y2Nvz1OnCzV_cUu6CPm zZ9aCh>gYvciEW8^_RR8}T9WU4>VEpi*QS9_%WuqUh~J*GpsnWI@9@fj&Lp*M@9g*A zKx_WkwlDA5j;@zp?oHfM-_bEQ2jBSIm-&ew^}9+MKkZ98sC@X9`%>!udHTrGCm!2- z@UZ#$4(pVRyq43~ls8PNZ{B?(YyWi6lp(a9ns;#PA0DG8m7crminqlrJA@#UYI%#r zVY66w|VR}y|-w*8+%H`umo7cafmQrm(~ePaEaafO@JMVAJ)Ep14-`{}-$-(KkcHVq{oD0rj#(t7`A z9{Mj^_y2A6-ky7y$;74vYn|%=hwvEqFds z8}WS7T6rNO*=759(}(pL1#h7@)4Nu0`N}kFZE|E!x#!HScd$0+b@zb=*WWwqo9lNq z`W;8M{!r3==%nlQPFLTHx9grc)VBY0sBu@mJ8{L<-{j<`0q3LXc`Z4c>&S019>1O5 zTDoBS@>X36mF%dCKlwxL!13?=``SBqZ=Y#HcFa2UpA=8T2rhJ}F_`JNtS=3%k^Np4m@Y`SV5Hdl$gfMx}sn&AXD zP)B?L*mVe!y*LtJ*a{$_ZcxVi&DeKuAH`6fGh+`M>{@%k0?PUPY7rDy7dqMM3YOxq z#fwzg5gHQsfW)8?pVuFxBW5hhOT%Z`tijMIM5-`jC3XjD5k!EJYErGmb0hpZ9kxh? zW{aGMF0$qgQouJeRxU{aTB8Yv!|JeJEr?|rf}$vmR;SVFaEQQzRep(y;QnB`OcCR- zf*>pM0f`smbQs zK)*O6=!9!jQv`xSNMu3oI^dVmM^h}b*&V|Sa!O^qFAz-%iZ{j?#}4BHA<-MfaI6M+ zfe(@fVSL0Gyu^D(#2OQuJQ7W3bRf{(F#j0zQ0`GMMA_}MRbWH1Q=8R{$??*h!15d& zeWVOV3h3P&&H{rTCk+MyrwptIXBgICBy_A^M}kpQHh)lJ{49{EAi0`{JdBCuj9P;c zC)^Z;lN{&9DZP=vO$5ub3t_E|jA<0bN|A?M$#_RcB~x*b%AhxTI7&<4ZjT#MnK&)Z zm~<2lOdif;GPreaf{Rkgb)a(`HZ!JEYey^&FC%#b(Pzf&42!NT9vN}+K2R(%vTB6U zKp6-^Zy+e6o-z?5pfx}Y!j6+k39VWmi<)EUJV?pF&f$Gb8PEj$Wzi{eU1*pMRF;t& z6*5QdFd5n+0!9)euBQw|T?;duKX)OhxaV<$} zN8tsI_f-8aw7h!I>{!k7`5^RP6*a|{R57TGy~SR=d~_|LXmnN33>!-!$gBe~i6K{P zh%IOQWdLp;gZ(;W=YOFWw7{Sce3ifAIEA;+Y2{XsS!{tD(4^#}7RT@@|7*tF%n6XCQHHK2o*8EJA>?mN= zHUsCyY;gO6yP;-yI~)`Z2K;M&28;1)xs`ZSN)4TTGMGDn|(rO=&7E$iK|kNC;oVP&CcaJ^z{mJ z===)_OFy3XB!QT&Y$A3RGyBYco>v~H*wpc0?*gheKIw~On|Q~h>_0L0ypyu`Rn__g z#f82Hd%x}j4fp2FzqDshTf=3==lcfw>sA*jK;zZ9@3yb#uRDbN)mO3ey*-ydfMFxH M+(K*X(nmM`7X{8Cod5s; literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/graphite_line/super_hot.png b/kubejs/assets/tfg/textures/item/graphite_line/super_hot.png new file mode 100644 index 0000000000000000000000000000000000000000..5e471b409ac459d05026d5d35d4ad3a9d6ccbf67 GIT binary patch literal 6349 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/graphite_line/washed_graphite_briquette_overlay.png b/kubejs/assets/tfg/textures/item/graphite_line/washed_graphite_briquette_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..ed2c830da75330a8c886c427661136530e9442fa GIT binary patch literal 5571 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/refrigerant_pellet.png b/kubejs/assets/tfg/textures/item/refrigerant_pellet.png new file mode 100644 index 0000000000000000000000000000000000000000..03090fdfa25052b302d90bd3c63150be035b42b3 GIT binary patch literal 4460 zcmeHKeNYo;8V`pEVzqKmddH!x!JcScvPm{!vl70N067d$J`}$So81kp_4} z*!lF~uc5Iq|JYoVe|FozvrhvzsK09JJ_i-O z-P{yidHvS0+A*&uN~&{JBwYIL$8UM{4E?1RZ5myxcW>;;ukgNgsA$jl<0M02q4ZGs z^615+uEzDVV~&g3xzp381Vp-5CK6jRxN z92`Z5v@v*Qym20|P-VzW(EB zjd%-o|J(lc9;E@$!_vx+_8lH;ukYb^mE9{o-!|G(=kaedBgEvcgy2_xs)_C#9F|e%Z3B!Ep}D z?!~k3R<EEb*1a|SD9XQ^T7|F)*pED>Q8ZlN!L?d0dcKveq8d!%8aqU9@O+zm7;sJUiR=hQ@5+)TtwE5`%M=P+;oTHb{;pClqoXK zEBo$;jXWHA_~5Si!Lwps*JqaN)j!?d463ex0o9eJ*@TlOLoh*^v~;lDU=)hww#})NrV(83k{*cXfOh+?2Jvs5A%dVEtC#VQbtcw zfHyfmi)GEYK#-T07n~;!Hd!(SLYYh^KtuwO2nGn)nr~zYJ8ZNDaugFBO4>?V7&FV5 zj1b33Xid4SoX-d2&{TW|vqm#bZ?sOT0Q3;p39~>Lj0g+{!R#4UR%HVulL7tW3~LJ5 zq=F>cYRa{cw8};s*}&NpF=|cXGy|7XCSx!=lLF$+aYm8TICHK=@5E4~fY#FnKxzf? z3FqKhMmHnYoY=S#XF9V30q&;x=b)!@cY*;*qrsIXGM96zR?7KYyf|ed847nkVp2pR zlV}N8h+#C0QiK%75JC$JC8$s)C8a{CPCAQ9ZM3q4k)$~)KpxBh9y&xy3JDZ}2@#FL zs1y^zn2e_25Sc_mB9xA#wW3)R2^I!aC83`k6-Pw@DhYy$P(mhyg<_I|QGyh~S}lgc zgqW7;P*fCxk(iT;TL(NcQ7z|-f{__ZqMl%NCW}GN*AOI>kUTSz!Wigemf%zqhDc3`8a^FdH+SQ@C}(K{h~Hf-6+O z?6iYqaD{~?Sd%5iWYWv|T(A&FIX$ca`-vi0LP@YR@P>#axDde+QHn^6BSKsxfe{o( zX5mc~qs#waXm0mFp%ZH!%UFT`e5Yw*OC{4e6K@l*dd9hzAjr8ZaDtpj!AjU@${8o% zniwLp2xBG<+Q($QPT84Xs0BhxNyH&qF{}-dYGIVt(lDW;WiTcd(UeXm)rwJaF1yvF zWAg|L9hnJq1X_XmbZP|!O)TNMx$wL!np+>B7%W8K8O3CiiU}q&7I0l-D& z3%pQW|2MfjXAV@f5&R9x1IMN2J&#au)LN{Ki&65PbKlwvCn|wui8*$wmB(A^&0Q|M zqmJJJqdTkCsN9D=U0q#P-s$+90_W+M)XK;d?28)}LStFP3RQrwt<2$*qwrpO_RNO# zORA&FPmA92ht_sWlD5~Yzh0_5amo6SF`eI_?wSk9M4Tt z?724dr2ETr0@FWEd!Rk()mYSpf35b(ieAMJ+VlX zk^J78x;QsKhmWLX|GzI^Nw2Q)iq?(xCaYJSd_($LfBnHf`^A*BeVKO0aPoDx{Md#D z^`J*;yRD(v4X=o@{q1Jton*#(ujZX4NsPCfEpYp>{Ut$({r8Na`a0X{s&2>acf|Rz zm9B3r-U7e6UE1|z-9d>px+9_Wbm0hpIKWo@`)xP2=z9lQU&dUeY4}gc^R*XUg8cHv TOU0M { event.addAdvanced(['minecraft:blue_ice'], (item, advanced, text) => { text.add(1, Text.translate("tfg.tooltip.component.blue_ice")) }) - event.addAdvanced(['ad_astra:glacian_fur'], (item, advanced, text) => { + event.addAdvanced(['tfg:glacian_wool_frame'], (item, advanced, text) => { text.add(1, Text.translate("tfg.tooltip.component.glacian_fur")) }) + event.addAdvanced(['tfg:aes_insulation_frame'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.aes_insulation_frame")) + }) + event.addAdvanced(['tfg:moderate_core_frame'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.moderate_core_frame")) + }) + event.addAdvanced(['tfg:impure_moderate_core_frame'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.impure_moderate_core_frame")) + }) + event.addAdvanced(['tfg:dry_ice'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.dry_ice")) + }) + event.addAdvanced(['tfg:refrigerant_pellet'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.refrigerant_pellet")) + }) + + event.addAdvanced(['tfg:nuclear_turbine'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.nuclear_turbine_1")) + text.add(2, Text.translate("tfg.tooltip.component.nuclear_turbine_2")) + }) // AE2 event.addAdvanced(['tfg:wireless_card'], (item, advanced, text) => { diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 6583cd9d2..077674244 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -958,7 +958,7 @@ function registerGTCEuMachineRecipes(event) { event.recipes.gtceu.assembler('steel_machine_casing') .itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4)) .itemOutputs('gtceu:steel_machine_casing') - .circuit(4) + .circuit(6) .duration(2.5 * 20) .EUt(16) @@ -966,7 +966,7 @@ function registerGTCEuMachineRecipes(event) { .itemInputs('gtceu:clean_machine_casing', '4x gtceu:annealed_copper_double_wire') .inputFluids(Fluid.of('gtceu:polyvinyl_chloride', 288)) .itemOutputs('tfg:casings/machine_casing_stainless_evaporation') - .circuit(4) + .circuit(6) .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.HV]) @@ -974,7 +974,7 @@ function registerGTCEuMachineRecipes(event) { .itemInputs('gtceu:clean_machine_casing', '4x #forge:double_wires/kanthal') .inputFluids(Fluid.of('gtceu:polybenzimidazole', 288)) .itemOutputs('tfg:casings/machine_casing_mars') - .circuit(4) + .circuit(6) .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.HV]) @@ -982,7 +982,7 @@ function registerGTCEuMachineRecipes(event) { .itemInputs('4x #forge:dense_plates/lead', '2x #forge:plates/rtm_alloy', '#forge:frames/titanium') .inputFluids(Fluid.of('gtceu:polyvinyl_butyral', 288)) .itemOutputs('2x gtceu:atomic_casing') - .circuit(4) + .circuit(6) .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.HV]) @@ -1270,4 +1270,16 @@ function registerGTCEuMachineRecipes(event) { } ).id('tfg:shaped/heat_exchanger') + event.shaped('tfg:nuclear_turbine', [ + 'CTC', + 'TZT', + 'BTB' + ], { + T: '#forge:gears/magnalium', + Z: 'gtceu:ev_machine_hull', + B: 'gtceu:ultimet_large_item_pipe', + C: '#gtceu:circuits/ev' + } + ).id('tfg:shaped/nuclear_turbine') + } diff --git a/kubejs/server_scripts/tfg/events.js b/kubejs/server_scripts/tfg/events.js index 1873ff235..3274142bd 100644 --- a/kubejs/server_scripts/tfg/events.js +++ b/kubejs/server_scripts/tfg/events.js @@ -744,6 +744,12 @@ BlockEvents.rightClicked(event => { transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:aes_insulation_frame', 'tfg:aes_insulation_roll', true, 1, 'block.wool.place', 'minecraft:happy_villager', true); transformBlockWithToolReturn(event, 'tfg:aes_insulation_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:aes_insulation_roll', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:moderate_core_frame', 'tfg:graphite_moderator', true, 1, 'block.wool.place', 'minecraft:happy_villager', true); + transformBlockWithToolReturn(event, 'tfg:moderate_core_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:graphite_moderator', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + + transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:impure_moderate_core_frame', 'tfg:impure_graphite_moderator', true, 1, 'block.wool.place', 'minecraft:happy_villager', true); + transformBlockWithToolReturn(event, 'tfg:impure_moderate_core_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:graphite_moderator', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + }); // Makes scythes, hoes, and knives take damage when cutting grass diff --git a/kubejs/server_scripts/tfg/recipes.nuclear.js b/kubejs/server_scripts/tfg/recipes.nuclear.js index c0a9668c0..56cb98f70 100644 --- a/kubejs/server_scripts/tfg/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/recipes.nuclear.js @@ -2,26 +2,49 @@ function registerTFGNuclearRecipes(event) { + // Fission blocks + + event.recipes.gtceu.assembler('tfg:redstone_port') + .itemInputs('gtceu:ev_machine_hull', 'gtceu:activity_detector_cover') + .itemOutputs('deafission:redstone_port') + .duration(20*30) + .circuit(1) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.assembler('tfg:material_holder') + .itemInputs('gtceu:ev_input_bus', '4x gtceu:uranium_triplatinum_single_wire', '2x gtceu:ev_conveyor_module', '#gtceu:circuits/ev') + .itemOutputs('deafission:material_holder') + .duration(20*30) + .circuit(1) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.assembler('tfg:fuel_holder') + .itemInputs('gtceu:ev_machine_hull', '4x gtceu:uranium_triplatinum_single_wire', '4x gtceu:ev_robot_arm', '4x gtceu:titanium_gear', '2x #gtceu:circuits/ev') + .itemOutputs('deafission:fuel_holder') + .duration(20*30) + .circuit(1) + .EUt(GTValues.VA[GTValues.LV]) + //#region Nuclear Pellet event.recipes.gtceu.nuclear_fuel_factory('tfg:thorium_pellet') .itemInputs('10x #forge:ingots/thorium_230', '90x #forge:ingots/thorium_232', 'tfg:empty_rod') .itemOutputs('tfg:thorium_rod') - .duration(20*100) + .duration(20*200) .EUt(GTValues.V[GTValues.HV]) event.recipes.gtceu.nuclear_fuel_factory('tfg:uranium_pellet') .inputFluids(Fluid.of('gtceu:uranium_waste', 10000)) .itemInputs('10x #forge:ingots/uranium_235', '90x #forge:ingots/uranium', 'tfg:empty_rod') .itemOutputs('tfg:uranium_rod') - .duration(20*300) + .duration(20*600) .EUt(GTValues.V[GTValues.HV]) event.recipes.gtceu.nuclear_fuel_factory('tfg:plutonium_pellet') .itemInputs('90x #forge:ingots/plutonium', 'tfg:empty_rod') .inputFluids(Fluid.of('gtceu:radon', 100)) .itemOutputs('tfg:plutonium_rod') - .duration(20*300) + .duration(20*600) .EUt(GTValues.V[GTValues.EV]) /* REMOVE FOR VENUS COMMENTED OUT event.recipes.gtceu.nuclear_fuel_factory('tfg:tbu_232_rod') @@ -58,7 +81,7 @@ function registerTFGNuclearRecipes(event) { .outputFluids(Fluid.of('tfg:heavy_water', 500)) .itemOutputs('#forge:dusts/ammonium_chloride', '2x #forge:small_dusts/ammonium_chloride') .duration(20*9) - .EUt(GTValues.VHA[GTValues.LV]) + .EUt(GTValues.VHA[GTValues.ULV]) event.recipes.gtceu.centrifuge('mars_semiheavy_water') .inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000)) @@ -92,13 +115,13 @@ function registerTFGNuclearRecipes(event) { .inputFluids(Fluid.of('gtceu:radioactive_waste', 1000)) .outputFluids(Fluid.of('gtceu:radon', 1000)) .itemOutputs('#forge:dusts/nuclear_residue') - .duration(20*30) + .duration(20*10) .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.vacuum_freezer('oxidized_nuclear_residue') .itemInputs('#forge:dusts/nuclear_residue') .inputFluids(Fluid.of('gtceu:dioxygen_difluoride', 1000)) - .outputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1000)) + .outputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 4000)) .itemOutputs('#forge:dusts/oxidized_nuclear_residue') .duration(20*5) .EUt(GTValues.VA[GTValues.IV]) @@ -139,7 +162,7 @@ function registerTFGNuclearRecipes(event) { .outputFluids(Fluid.of('gtceu:dense_steam', 10)) .outputFluids(Fluid.of('gtceu:formamide', 10)) .perTick(false) - .duration(20*10) + .duration(20*5) .EUt(1) event.recipes.gtceu.heat_exchanger('plutonium_steam') @@ -148,7 +171,7 @@ function registerTFGNuclearRecipes(event) { .inputFluids(Fluid.of('gtceu:irradiated_steam', 10)) .outputFluids(Fluid.of('gtceu:dense_steam', 10)) .perTick(false) - .duration(20*10) + .duration(20*5) .EUt(1) // Heat Exchanger for Energy @@ -175,10 +198,13 @@ function registerTFGNuclearRecipes(event) { .duration(20*50) .EUt(32)*/ + // Thorium Fission + event.recipes.deafission.fission_reactor_fuel('tfg:thorium') .itemInputs(Item.of('tfg:thorium_rod')) .outputFluids(Fluid.of('gtceu:uranium_waste', 2500)) .itemOutputs(Item.of('tfg:empty_rod')) + .dimension('ad_astra:mars') .hideDuration(true); event.recipes.deafission.fission_reactor_coolant('tfg:thorium_coolant') @@ -187,17 +213,9 @@ function registerTFGNuclearRecipes(event) { .inputFluids(Fluid.of('minecraft:water', 400)) .outputFluids(Fluid.of('gtceu:dense_steam', 2)) .perTick(false) + .dimension('ad_astra:mars') .duration(1); - // Recipe for energy only reactor Just keeping it in case we got mod issues -/* event.recipes.gtceu.fission_reactor('thorium_nuclear_waste') - .itemInputs('#forge:bolts/thorium_pellet') - .inputFluids(Fluid.of('gtceu:distilled_water', 200)) - .outputFluids(Fluid.of('gtceu:dense_steam', 200)) - .outputFluids(Fluid.of('gtceu:nuclear_waste', 10)) - .duration(20*100) - .EUt(32)*/ - // Recipe for Uranium Reactor Just keeping it in case we got mod issues /* event.recipes.gtceu.fission_reactor('uranium_radioactive') .itemInputs('#forge:bolts/uranium_rod') @@ -207,6 +225,8 @@ function registerTFGNuclearRecipes(event) { .duration(20*100) .EUt(32)*/ + // Uranium Fission + event.recipes.deafission.fission_reactor_fuel('tfg:uranium') .itemInputs(Item.of('tfg:uranium_rod')) .outputFluids(Fluid.of('gtceu:radioactive_waste', 50000)) @@ -216,7 +236,7 @@ function registerTFGNuclearRecipes(event) { event.recipes.deafission.fission_reactor_coolant('tfg:uranium_coolant') .notConsumable(Item.of('tfg:uranium_rod')) .perTick(true) - .inputFluids(Fluid.of('tfg:heavy_water', 25)) + .inputFluids(Fluid.of('tfg:heavy_water', 20)) .outputFluids(Fluid.of('gtceu:radioactive_steam', 10)) .perTick(false) .duration(1); @@ -230,6 +250,8 @@ function registerTFGNuclearRecipes(event) { .duration(20*100) .EUt(32)*/ + // Plutonium Fission + event.recipes.deafission.fission_reactor_fuel('tfg:plutonium') .itemInputs(Item.of('tfg:plutonium_rod')) .outputFluids(Fluid.of('gtceu:tritiated_water', 5000)) @@ -239,8 +261,8 @@ function registerTFGNuclearRecipes(event) { event.recipes.deafission.fission_reactor_coolant('tfg:plutonium_coolant') .notConsumable(Item.of('tfg:plutonium_rod')) .perTick(true) - .inputFluids(Fluid.of('tfg:heavy_water', 50)) - .outputFluids(Fluid.of('gtceu:irradiated_steam', 10)) + .inputFluids(Fluid.of('tfg:heavy_water', 25)) + .outputFluids(Fluid.of('gtceu:irradiated_steam', 40)) .perTick(false) .duration(1); @@ -260,10 +282,137 @@ function registerTFGNuclearRecipes(event) { event.recipes.deafission.fission_reactor_processing('tfg:dry_ice') .itemInputs('tfg:dry_ice') - .itemOutputs('minecraft:coal') .blastFurnaceTemp(100) - .duration(20) - .EUt(1) + .addData("heat_per_tick", 10) + .duration(20*1) + + event.recipes.deafission.fission_reactor_processing('tfg:refrigerant_pellet') + .itemInputs('tfg:refrigerant_pellet') + .blastFurnaceTemp(100) + .addData("heat_per_tick", 40) + .duration(20*30) + + event.recipes.gtceu.gas_pressurizer('tfg:tetrafluoroethane') + .inputFluids(Fluid.of('tfg:1_1_1_2_tetrafluoroethane', 1000), Fluid.of('gtceu:liquid_helium', 1000)) + .outputFluids(Fluid.of('tfg:tetrafluoroethane', 1000)) + .EUt(GTValues.VA[GTValues.EV]) + .duration(20*36) + + event.recipes.gtceu.vacuum_freezer('tfg:tetrafluoroethane_gem') + .inputFluids(Fluid.of('tfg:tetrafluoroethane', 1000)) + .itemOutputs(Item.of('tfg:tetrafluoroethane_gem', 1)) + .EUt(GTValues.VA[GTValues.EV]) + .duration(20*14) + + event.recipes.gtceu.assembler('tfg:tetrafluoroethane_gem') + .itemInputs(Item.of('tfg:tetrafluoroethane_gem', 1)) + .itemInputs(Item.of('tfg:polycaprolactam_fabric', 16)) + .itemOutputs(Item.of('tfg:refrigerant_pellet', 1)) + .EUt(GTValues.VA[GTValues.EV]) + .duration(20*17) + + // Graphite Moderator Line + + const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic') + + event.recipes.gtceu.mixer('tfg:graphite_compound') + .inputFluids(Fluid.of('gtceu:coal_tar', 1000)) + .itemInputs(Item.of('gtceu:graphite_dust', 9)) + .itemOutputs(Item.of('tfg:graphite_compound', 1)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*14) + + event.recipes.gtceu.implosion_compressor('tfg:graphite_briquette_implosion') + .itemInputs('tfg:advanced_polymer_binder') + .itemInputs('9x tfg:graphite_compound') + .itemInputs('gtceu:industrial_tnt') + .chancedItemOutputLogic($ChanceLogic.XOR) + .chancedOutput('tfg:raw_graphite_briquette', 9000, 0) + .chancedOutput('tfg:faulty_graphite_briquette', 1000, 0) + .duration(20 * 1) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('tfg:faulty_graphite_briquette_recycling') + .itemInputs(Item.of('tfg:faulty_graphite_briquette', 1)) + .itemOutputs(Item.of('gtceu:graphite_dust', 1)) + .itemOutputs(Item.of('gtceu:coke_dust', 1)) + .EUt(GTValues.VA[GTValues.MV]) + .duration(20*16) + + event.recipes.gtceu.chemical_bath('tfg:graphite_briquette_washing') + .itemInputs(Item.of('tfg:raw_graphite_briquette', 1)) + .itemInputs(Item.of('gtceu:epoxy_plate', 1)) + .inputFluids(Fluid.of('gtceu:sulfuric_acid', 1000)) + .itemOutputs(Item.of('tfg:washed_graphite_briquette', 1)) + .EUt(GTValues.VA[GTValues.EV]) + .duration(20*12) + + event.recipes.gtceu.electric_blast_furnace('tfg:graphite_rod') + .itemInputs(Item.of('tfg:washed_graphite_briquette', 1)) + .inputFluids(Fluid.of('gtceu:nitrogen', 1000)) + .chancedItemOutputLogic($ChanceLogic.XOR) + .chancedOutput('tfg:impure_graphite_rod', 6000, 0) + .chancedOutput('tfg:pure_graphite_rod', 3000, 0) + .chancedOutput('gtceu:dark_ash_dust', 1000, 0) + .blastFurnaceTemp(4700) + .EUt(GTValues.VA[GTValues.IV]) + .duration(20*120) + + event.recipes.gtceu.arc_furnace('tfg:annealed_graphite_rod') + .itemInputs(Item.of('tfg:pure_graphite_rod', 1)) + .inputFluids(Fluid.of('gtceu:oxygen', 1000)) + .itemOutputs(Item.of('tfg:annealed_graphite_rod', 1)) + .EUt(GTValues.VA[GTValues.IV]) + .duration(20*6) + + event.recipes.gtceu.arc_furnace('tfg:impure_annealed_graphite_rod') + .itemInputs(Item.of('tfg:impure_graphite_rod', 1)) + .inputFluids(Fluid.of('gtceu:oxygen', 1000)) + .itemOutputs(Item.of('tfg:impure_annealed_graphite_rod', 1)) + .EUt(GTValues.VA[GTValues.IV]) + .duration(20*6) + + event.recipes.gtceu.assembler('tfg:impure_moderate_core') + .itemInputs(Item.of('tfg:impure_annealed_graphite_rod', 1)) + .itemInputs(Item.of('#forge:frames/steel', 1)) + .itemOutputs(Item.of('tfg:impure_moderate_core', 1)) + .EUt(GTValues.VA[GTValues.IV]) + .duration(20*2.5) + + event.recipes.gtceu.assembler('tfg:moderate_core') + .itemInputs(Item.of('tfg:annealed_graphite_rod', 1)) + .itemInputs(Item.of('#forge:frames/steel', 1)) + .itemOutputs(Item.of('tfg:moderate_core', 1)) + .EUt(GTValues.VA[GTValues.IV]) + .duration(20*2.5) + + event.recipes.gtceu.compressor('tfg:impure_graphite_moderator') + .itemInputs(Item.of('tfg:impure_moderate_core', 1)) + .itemOutputs(Item.of('tfg:impure_graphite_moderator', 1)) + .EUt(2) + .duration(20*20) + + event.recipes.gtceu.compressor('tfg:graphite_moderator') + .itemInputs(Item.of('tfg:moderate_core', 1)) + .itemOutputs(Item.of('tfg:graphite_moderator', 1)) + .EUt(2) + .duration(20*20) + + event.recipes.gtceu.chemical_reactor('tfg:advanced_polymer_binder') + .itemInputs(Item.of('gtceu:polyethylene_foil', 16)) + .inputFluids(Fluid.of('gtceu:fluorine', 1000)) + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 1000)) + .itemOutputs(Item.of('tfg:advanced_polymer_binder', 1)) + .EUt(GTValues.VA[GTValues.EV]) + .duration(20*16) + + event.recipes.gtceu.chemical_reactor('tfg:advanced_polymer_binder_extra') + .itemInputs(Item.of('gtceu:polytetrafluoroethylene_foil', 16)) + .inputFluids(Fluid.of('gtceu:fluorine', 1000)) + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 1000)) + .itemOutputs(Item.of('tfg:advanced_polymer_binder', 16)) + .EUt(GTValues.VA[GTValues.EV]) + .duration(20*16) //#endregion diff --git a/kubejs/server_scripts/tfg/recipes.space_ores.js b/kubejs/server_scripts/tfg/recipes.space_ores.js index e6f675e63..d5e554464 100644 --- a/kubejs/server_scripts/tfg/recipes.space_ores.js +++ b/kubejs/server_scripts/tfg/recipes.space_ores.js @@ -140,6 +140,8 @@ function registerTFGSpaceOres(event) { .duration(20 * 45) .EUt(GTValues.VA[GTValues.MV]) + //#region Mars Ores Line + // Ostrum Harvester event.recipes.gtceu.ostrum_harvester(`tfg:ostrum_harvesting`) @@ -155,7 +157,7 @@ function registerTFGSpaceOres(event) { // Ostrum Linear Accelerator Recipes event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum_transformation') - .inputFluids('gtceu:residual_radioactive_concoction 1000') + .inputFluids('gtceu:residual_radioactive_concoction 100') .itemInputs('32x #forge:dusts/ostrum') .chancedFluidOutputLogic($ChanceLogic.XOR) .chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0) diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 568bd31cc..c0cd2f055 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -959,16 +959,22 @@ const registerTFGBlockTags = (event) => { var COMPONENTS = 'deafission:components'; // Max Heating - event.add(COMPONENTS, 'ad_astra:glacian_fur'); // Max Heat 2 + event.add(COMPONENTS, 'tfg:glacian_wool_frame'); // Max Heat 2 event.add(COMPONENTS, 'minecraft:blue_ice'); // Max Heat 0.5 + event.add(COMPONENTS, 'tfg:aes_insulation_frame'); // Max Heat 1 + event.add(COMPONENTS, 'tfg:moderate_core_frame'); // Max Heat 10 + event.add(COMPONENTS, 'tfg:impure_moderate_core_frame'); // Max Heat 5 + //event.add(COMPONENTS, 'minecraft:blue_ice'); // Max Heat 0.5 event.add(COMPONENTS, 'minecraft:bedrock'); // Max Heat 10000 CREATIVE BLOCK // Increase Throttle - event.add(COMPONENTS, 'minecraft:iron_block'); + //event.add(COMPONENTS, 'minecraft:iron_block'); // Increase Effiency - event.add(COMPONENTS, 'minecraft:packed_ice'); + //event.add(COMPONENTS, 'minecraft:packed_ice'); + + event.add('tfg:fission_coolant','deafission:components') //#endregion diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 88c096c7c..eb9fc5dad 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -195,6 +195,7 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:mv_bedrock_ore_miner", "gtceu:hv_bedrock_ore_miner", "gtceu:ev_bedrock_ore_miner", + ]); //#endregion diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 75f0c5f57..950bb1cbf 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -265,9 +265,16 @@ const registerGTCEuMachines = (event) => { // Nuclear Fuel Factory event.create('nuclear_fuel_factory', 'multiblock') + .machine((holder) => new CoilWorkableElectricMultiblockMachine(holder)) .rotationState(RotationState.NON_Y_AXIS) .recipeType('nuclear_fuel_factory') - .recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.ELECTRIC_OVERCLOCK.apply(OverclockingLogic.NON_PERFECT_OVERCLOCK)]) + .recipeModifiers( + [ + GTRecipeModifiers.PARALLEL_HATCH, + (machine, recipe) => GTRecipeModifiers.pyrolyseOvenOverclock(machine, recipe), + GTRecipeModifiers.BATCH_MODE + ] + ) .appearanceBlock(() => Block.getBlock('gtceu:atomic_casing')) .pattern(definition => FactoryBlockPattern.start() .aisle('RLLLR', 'I I', 'I I', 'I I', 'RLLLR') @@ -282,8 +289,8 @@ const registerGTCEuMachines = (event) => { .where('P', Predicates.blocks('gtceu:laminated_glass')) .where('S', Predicates.blocks(GTBlocks.CASING_ENGINE_INTAKE.get())) .where('K', Predicates.blocks('gtceu:high_temperature_smelting_casing')) - .where('C', Predicates.blocks(GTBlocks.COIL_RTMALLOY.get())) - .where('L', Predicates.blocks('gtceu:atomic_casing') + .where('C', Predicates.heatingCoils()) + .where('L', Predicates.blocks('gtceu:atomic_casing').setMinGlobalLimited(15) .or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1)) .or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setPreviewCount(1)) .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1)) @@ -303,7 +310,7 @@ const registerGTCEuMachines = (event) => { event.create('heat_exchanger', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) .recipeType('heat_exchanger') - .recipeModifiers([GTRecipeModifiers.OC_PERFECT_SUBTICK]) + .recipeModifiers([GTRecipeModifiers.OC_PERFECT_SUBTICK, GTRecipeModifiers.BATCH_MODE]) .appearanceBlock(() => Block.getBlock('gtceu:high_temperature_smelting_casing')) .pattern(definition => FactoryBlockPattern.start() .aisle(' ','BBBBBBB','BCCCCCB','BBBBBBB',' ') @@ -445,7 +452,7 @@ const registerGTCEuMachines = (event) => { event.create('ostrum_linear_accelerator', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) .recipeType('ostrum_linear_accelerator') - .recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.OC_NON_PERFECT]) + .recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.OC_NON_PERFECT, GTRecipeModifiers.BATCH_MODE]) .appearanceBlock(() => Block.getBlock('tfg:casings/machine_casing_mars')) .pattern(definition => FactoryBlockPattern.start() .aisle('AAAAAAAAA', 'AAAAAAAAA', 'AAAAAAAAA', ' ', ' ' ) diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index 998de5811..ea985b5b6 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -265,6 +265,8 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.DamascusSteel.addFlags(GENERATE_BOLT_SCREW); GTMaterials.Duranium.addFlags(GENERATE_BOLT_SCREW); + GTMaterials.Magnalium.addFlags(GENERATE_GEAR); + GTMaterials.Cupronickel.addFlags(GENERATE_BOLT_SCREW, GENERATE_RING); GTMaterials.Ultimet.addFlags(GENERATE_ROTOR) diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index d99058588..43642a5b7 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -223,6 +223,34 @@ const registerTFGBlocks = (event) => { .resistance(6) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('minecraft:mineable/wrench') + event.create('tfg:moderate_core_frame') + .soundType('copper') + .hardness(4) + .resistance(6) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('minecraft:mineable/wrench') + event.create('tfg:impure_moderate_core_frame') + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('minecraft:mineable/wrench') + + // Unfinished Insulation + event.create('tfg:moderate_core') + .soundType('ancient_debris') + .hardness(7) + .resistance(8) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('minecraft:mineable/wrench') + .model('tfg:block/fission/moderate_core') + event.create('tfg:impure_moderate_core') + .soundType('ancient_debris') + .hardness(7) + .resistance(8) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('minecraft:mineable/wrench') + .model('tfg:block/fission/impure_moderate_core') // #region Decorative vases global.MINECRAFT_DYE_NAMES.forEach(color => { diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index d2da48e68..54d9efa15 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -483,4 +483,52 @@ const registerTFGItems = (event) => { .texture('tfg:item/fuel_rod_empty') .tag('tfg:fission_rods') + event.create('tfg:refrigerant_pellet') + .translationKey('item.tfg.refrigerant_pellet') + .texture('tfg:item/refrigerant_pellet') + .tag('tfg:fission_coolant') + + // Moderator Line + + event.create('tfg:graphite_compound') + .translationKey('item.tfg.graphite_compound') + .texture('tfg:item/graphite_line/graphite_compound') + + event.create('tfg:raw_graphite_briquette') + .translationKey('item.tfg.raw_graphite_briquette') + .texture('tfg:item/graphite_line/raw_graphite_briquette') + + event.create('tfg:faulty_graphite_briquette') + .translationKey('item.tfg.faulty_graphite_briquette') + .texture('tfg:item/graphite_line/faulty_graphite_briquette') + + event.create('tfg:washed_graphite_briquette') + .translationKey('item.tfg.washed_graphite_briquette') + + event.create('tfg:pure_graphite_rod') + .translationKey('item.tfg.pure_graphite_rod') + .texture('tfg:item/graphite_line/pure_graphite_rod') + + event.create('tfg:impure_graphite_rod') + .translationKey('item.tfg.impure_graphite_rod') + .texture('tfg:item/graphite_line/impure_graphite_rod') + + event.create('tfg:annealed_graphite_rod') + .translationKey('item.tfg.annealed_graphite_rod') + + event.create('tfg:impure_annealed_graphite_rod') + .translationKey('item.tfg.impure_annealed_graphite_rod') + + event.create('tfg:graphite_moderator') + .translationKey('item.tfg.graphite_moderator') + .texture('tfg:item/graphite_line/graphite_moderator') + + event.create('tfg:impure_graphite_moderator') + .translationKey('item.tfg.impure_graphite_moderator') + .texture('tfg:item/graphite_line/impure_graphite_moderator') + + event.create('tfg:advanced_polymer_binder') + .translationKey('item.tfg.advanced_polymer_binder') + .texture('tfg:item/graphite_line/advanced_polymer_binder') + } diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index c0aa9b2d6..89357c886 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -137,6 +137,16 @@ const registerTFGMaterials = (event) => { .components('2x carbon', '2x hydrogen', '4x fluorine') .color(0x46702e) + // Fission Component + + event.create('tfg:tetrafluoroethane') + .fluid() + .gem() + .flags(GTMaterialFlags.NO_UNIFICATION, GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.QUARTZ) + .components('2x carbon', '2x hydrogen', '4x fluorine') + .color(0x46702e) + // Crafting components event.create('tfg:kaolinite') @@ -457,7 +467,8 @@ const registerTFGMaterials = (event) => { GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_BOLT_SCREW, - GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES + GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES, + GTMaterialFlags.GENERATE_GEAR ) // #endregion diff --git a/kubejs/startup_scripts/tfg/tag_prefixes.js b/kubejs/startup_scripts/tfg/tag_prefixes.js index 849f28380..7c9826dd2 100644 --- a/kubejs/startup_scripts/tfg/tag_prefixes.js +++ b/kubejs/startup_scripts/tfg/tag_prefixes.js @@ -4,8 +4,11 @@ function registerTFGTagPrefixes(event) { excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:apt')); + excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:tetrafluoroethane')); excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:crimsene')); excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:warpane')); + + excludeAllOresButDust(TFGHelpers.getMaterial('gtceu:plutonium')); } function excludeAllGemsButNormal(material) { @@ -14,4 +17,18 @@ function excludeAllGemsButNormal(material) { TagPrefix.gemFlawless.setIgnored(material); TagPrefix.gemExquisite.setIgnored(material); TagPrefix.block.setIgnored(material); +} + +function excludeAllOresButDust(material) { + TagPrefix.rawOre.setIgnored(material); + TFGTagPrefix.poorRawOre.setIgnored(material); + TFGTagPrefix.richRawOre.setIgnored(material); + TagPrefix.rawOreBlock.setIgnored(material); + TagPrefix.crushedRefined.setIgnored(material); + TagPrefix.crushedPurified.setIgnored(material); + TagPrefix.crushed.setIgnored(material); + TagPrefix.dustImpure.setIgnored(material); + TagPrefix.dustPure.setIgnored(material); + TagPrefix.surfaceRock.setIgnored(material); + } \ No newline at end of file From 184d1ace7e683b2fedabe6032f11603d1d83f7e8 Mon Sep 17 00:00:00 2001 From: TomPlop Date: Sat, 4 Oct 2025 12:51:38 -0400 Subject: [PATCH 2/2] Remove Plutonium ore loot table and add a bad mixer recipe for bio diesel (#1955) --- .../blocks/basalt_plutonium_ore.json | 4 +++ .../blocks/pyroxenite_plutonium_ore.json | 4 +++ .../tfg/recipes.miscellaneous.js | 32 +++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 kubejs/data/gtceu/loot_tables/blocks/basalt_plutonium_ore.json create mode 100644 kubejs/data/gtceu/loot_tables/blocks/pyroxenite_plutonium_ore.json diff --git a/kubejs/data/gtceu/loot_tables/blocks/basalt_plutonium_ore.json b/kubejs/data/gtceu/loot_tables/blocks/basalt_plutonium_ore.json new file mode 100644 index 000000000..c1e0b0905 --- /dev/null +++ b/kubejs/data/gtceu/loot_tables/blocks/basalt_plutonium_ore.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:block", + "pools": [] +} \ No newline at end of file diff --git a/kubejs/data/gtceu/loot_tables/blocks/pyroxenite_plutonium_ore.json b/kubejs/data/gtceu/loot_tables/blocks/pyroxenite_plutonium_ore.json new file mode 100644 index 000000000..c1e0b0905 --- /dev/null +++ b/kubejs/data/gtceu/loot_tables/blocks/pyroxenite_plutonium_ore.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:block", + "pools": [] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index ca565d66e..cabdd697e 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -571,6 +571,14 @@ function registerTFGMiscellaneousRecipes(event) { .duration(20 * 10) .EUt(GTValues.VHA[GTValues.ULV]) + // So you can craft Biodiesel without Chemical Reactor + event.recipes.gtceu.mixer(`tfg:seed_oil_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:seed_oil', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + event.recipes.gtceu.chemical_reactor(`olive_oil_alcohol_biodiesel`) .inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:olive_oil', 4000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') @@ -578,6 +586,14 @@ function registerTFGMiscellaneousRecipes(event) { .duration(20 * 10) .EUt(GTValues.VHA[GTValues.ULV]) + // So you can craft Biodiesel without Chemical Reactor + event.recipes.gtceu.mixer(`tfg:olive_oil_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:olive_oil', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + event.recipes.gtceu.chemical_reactor(`soybean_oil_alcohol_biodiesel`) .inputFluids("#tfc:alcohols 1000", Fluid.of('firmalife:soybean_oil', 4000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') @@ -585,6 +601,14 @@ function registerTFGMiscellaneousRecipes(event) { .duration(20 * 10) .EUt(GTValues.VHA[GTValues.ULV]) + // So you can craft Biodiesel without Chemical Reactor + event.recipes.gtceu.mixer(`tfg:soybean_oil_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('firmalife:soybean_oil', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + event.recipes.gtceu.chemical_reactor(`fish_oil_alcohol_biodiesel`) .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:fish_oil', 6000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') @@ -592,6 +616,14 @@ function registerTFGMiscellaneousRecipes(event) { .duration(20 * 10) .EUt(GTValues.VHA[GTValues.ULV]) + // So you can craft Biodiesel without Chemical Reactor + event.recipes.gtceu.mixer(`tfg:fish_oil_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:fish_oil', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + event.recipes.gtceu.chemical_reactor(`olive_oil_ethanol_biodiesel`) .inputFluids(Fluid.of('tfc:olive_oil', 4000), Fluid.of('gtceu:ethanol', 1000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide')