From c856ec939815a94afbbe5357bcc800562e2faafb Mon Sep 17 00:00:00 2001 From: Adrien Vidal Date: Sun, 28 Sep 2025 19:10:33 +0200 Subject: [PATCH] [Molden] Stone TFGfication p3 - Aqueducts, Supports + Cutting and Grinding fixes (#1919) * Aqueducts + move stone characs to constants * Supports Supports for all stones Remapped to the original textures rather than copies (all removed) * Support tooltips + recipe rocks regions added * Macerator Recipes - Add Macerator missing grinding recipes - Change the TFC stone Macerator recipes to the same ratios * aqueduct recipes + stonecutting fixes * Remove redundant tags --------- Signed-off-by: Adrien Vidal --- .../block/support/aeronos_support.png | Bin 27723 -> 0 bytes .../block/support/andesite_support.png | Bin 3250 -> 0 bytes .../textures/block/support/basalt_support.png | Bin 3049 -> 0 bytes .../textures/block/support/chalk_support.png | Bin 3038 -> 0 bytes .../textures/block/support/chert_support.png | Bin 3032 -> 0 bytes .../block/support/claystone_support.png | Bin 609 -> 0 bytes .../block/support/conglomerate_support.png | Bin 2693 -> 0 bytes .../textures/block/support/dacite_support.png | Bin 611 -> 0 bytes .../block/support/dark_concrete_support.png | Bin 183 -> 0 bytes .../block/support/diorite_support.png | Bin 247 -> 0 bytes .../block/support/dolomite_support.png | Bin 629 -> 0 bytes .../textures/block/support/gabbro_support.png | Bin 3435 -> 0 bytes .../block/support/glacian_support.png | Bin 432 -> 0 bytes .../textures/block/support/gneiss_support.png | Bin 2632 -> 0 bytes .../block/support/granite_support.png | Bin 621 -> 0 bytes .../block/support/light_concrete_support.png | Bin 183 -> 0 bytes .../block/support/limestone_support.png | Bin 2827 -> 0 bytes .../textures/block/support/marble_support.png | Bin 958 -> 0 bytes .../block/support/migmatite_support.png | Bin 240 -> 0 bytes .../block/support/phyllite_support.png | Bin 2616 -> 0 bytes .../block/support/pyroxenite_support.png | Bin 290 -> 0 bytes .../block/support/quartzite_support.png | Bin 2638 -> 0 bytes .../reinforced_dark_concrete_support.png | Bin 217 -> 0 bytes .../reinforced_light_concrete_support.png | Bin 217 -> 0 bytes .../block/support/rhyolite_support.png | Bin 609 -> 0 bytes .../textures/block/support/schist_support.png | Bin 607 -> 0 bytes .../textures/block/support/shale_support.png | Bin 620 -> 0 bytes .../textures/block/support/slate_support.png | Bin 2844 -> 0 bytes .../block/support/strophar_support.png | Bin 27728 -> 0 bytes .../block/support/travertine_support.png | Bin 258 -> 0 bytes kubejs/client_scripts/tooltips.js | 2 +- .../minecraft/recipes.removes.js | 24 +- kubejs/server_scripts/tfc/recipes.stone.js | 427 ++++++------ kubejs/server_scripts/tfg/recipes.rocks.js | 339 ++++++---- kubejs/server_scripts/tfg/recipes.supports.js | 90 +-- kubejs/server_scripts/tfg/tags.js | 8 - .../startup_scripts/tfg/blocks.aqueducts.js | 86 +++ kubejs/startup_scripts/tfg/blocks.js | 30 +- kubejs/startup_scripts/tfg/blocks.nether.js | 272 ++++---- kubejs/startup_scripts/tfg/blocks.space.js | 624 +++++++++--------- kubejs/startup_scripts/tfg/blocks.supports.js | 416 +++++++++--- kubejs/startup_scripts/tfg/constants.js | 23 +- 42 files changed, 1366 insertions(+), 975 deletions(-) delete mode 100644 kubejs/assets/tfg/textures/block/support/aeronos_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/andesite_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/basalt_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/chalk_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/chert_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/claystone_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/conglomerate_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/dacite_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/dark_concrete_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/diorite_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/dolomite_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/gabbro_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/glacian_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/gneiss_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/granite_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/light_concrete_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/limestone_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/marble_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/migmatite_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/phyllite_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/pyroxenite_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/quartzite_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/reinforced_dark_concrete_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/reinforced_light_concrete_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/rhyolite_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/schist_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/shale_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/slate_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/strophar_support.png delete mode 100644 kubejs/assets/tfg/textures/block/support/travertine_support.png create mode 100644 kubejs/startup_scripts/tfg/blocks.aqueducts.js diff --git a/kubejs/assets/tfg/textures/block/support/aeronos_support.png b/kubejs/assets/tfg/textures/block/support/aeronos_support.png deleted file mode 100644 index dd8dcaa667d1d23e93a739e18659c11d5b09fa15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27723 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 VKPw;i_0-$napUiP{dfGC-vBh}DUARC diff --git a/kubejs/assets/tfg/textures/block/support/andesite_support.png b/kubejs/assets/tfg/textures/block/support/andesite_support.png deleted file mode 100644 index 36896b8238f5322697f777e257dd77feaada0b7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3250 zcmcIm4{Q_H88?GcFa%cGsEn-Jaa3(eIo}`O*}kj2DA*2h6%#kH_*)I$-MzCfvG2^? zC3ZrkptRXCMl~VS0c|>3(V%LbP_|N93KH$A!A9016}5#T(m`2Qp#dRO%C>IR-ktxD zFuF$TYUymh?|$F!ec$(f-+S*TiIpp=+>6{Um#Zq)7->Pj-?pC_)6w_ka~F_dTCW-o zCt~3+mN0Zh%|Mr{_T*FB`Nrw>3;XKsjBfAmyCbsfV4|j~f9slu?|S?>jP6~1{>rh) z;=?~W*Z<_;#+sqg^bvPWdzQ%DRzK?c^=}Te9N0ee#mjdrcw*MPx!12LBhn{TGv;~s z{dv{+7WkKe!m?k!{l|CISI8&QGhd%|Y2P!??phR2YdhP7?IqtgJbG2hHT{v)Z+Ed@@TyPDX9~%0( zN7}pXZFqdamAkd(bq6oru52Ah9(n%siC^um8&8sRi8H5KAKrPUVHAoY_WbEx&)-+i2czN79*ectZ8;VX99^m&oA+p@epp(Sw>G#>%zdF{ zv~%f4?3}niQMci*ms5LoY;J5^{qYAwug-r~{lgDm9KG`T*vJ>bkH=ShR?|Fg?4CA# z_gb_l)rqELw5O-X+MLgtMq5UcQf=Mc-D@|9i`@8+5ny(%ajofc&AHQlrn#OTSm<)O zJ!*1|wI<#qNP5--WL<=wLN06CKOP-He+L7P^z^Ts^4M4QR393)$ysdpF> zjCMlJT2h`Ym+3Gk&edT;+vLQWkrfh!>C9NhuZYDH6}(-wl$y;sXd78Z$x;QA>o79T zds!l324>OZCSs&3SW8uItiz=E?KhJqM^jXICn3vqvFAs{6C%3QVb2tcgm61RLDnTz z7M#C~4@k7+_YoYbJ;91RPXu_cNCa5OC?XS}0mYYjVw!0IO@cNLV)m$r#D@q(-cJ)= zh7Axb>+=&L2LM5d0WaX7pI3OL?B8stNai3jF&>*oMm!Yo0fn`BIMz$BNOeR&_WB4J zC_c`|0k2PjIA+&ds87T~IOCy8!$byHif&|4*QlDT=gpEmsb*oT1?(cxJ}SV`3>WY- zK19uw5UZeJBE{NdH05ECS(bzbL$*5@l4POWxQmR(m+c=wB@1>EW*@Vs9X}gP@y<4LHjuxsT?qb=m(Hs zDZt3G4{{1b>MZ)3x?<&l0qavpFGv=s;T&0DwIzK%P)6p{&=w!XPz22obRbDn0_PJr zq^=ukuvOxSCkQ8;~fGWmrNM z(HF}@g%AU1Q8-aV8FGp!+C}_&x?-p#LkW~up!}2b2$J?uJ+Wtk_5p_ujGNmlXdi+? z%-#`OJ94><3XKVU=BN|VOjzt7`CmLHu$4B@sgvF8P~-~hxh{0Jq^;(>HpS4s#HGmB zq)JdT^{FL!6S!E_2^S(KxuO-_w$KPwxqN}MN0mz;)X+9$pex>vb-e@Vdbl|jsZTCE zRej>ks>i9h4d=gq@65*g-st@Fp5xH=^q@$0jeoSpsPL-m7O-d%p} vX9Js0jmii69#Hyv3TOG`qdPtvd{f)H@9v|$hxW(qYicaIGO~a9#@>GeBK|29 diff --git a/kubejs/assets/tfg/textures/block/support/basalt_support.png b/kubejs/assets/tfg/textures/block/support/basalt_support.png deleted file mode 100644 index e606994a90a352e28b9d4c98363f86c86ca6cffb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3049 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 diff --git a/kubejs/assets/tfg/textures/block/support/chert_support.png b/kubejs/assets/tfg/textures/block/support/chert_support.png deleted file mode 100644 index fb2048c3ea47b8ae82adbc5b79f3852c3af32e25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3032 zcmcImdvFx>9Y3{E2u)1|Eo!ODS}{KM_IY=^%biTPOUOwsxgBJ|`+fKG{d^z4&-b^#$Kp-%sw%Im^msf~(S}GX`mT09Kf4V5|Lph)WVmFd8V<*! z;V>3Abwy1>kEiCyrl;oDL|T4*aD}pl>s`10_RlZ9ZRoc4rGqckJl?W+%GrO=;lumb zY&lm)8$}vvu~;S-zp)9sAGdmNWNnIWuF@$zy#V zE$Dd|e*9dL>pgtvPwHQetm^E22n)S2tlZpJ|KY|NH|$MpAMKkDzdX>gIcdhWA6>Qj z(2fmL7f<_5@?CiKNagCoFf{YNTmL>hSnzThNe$#>;?Tpm8xmK zvvlo=t2Uf#xOTh^_1Q#ZMjgZQFM)e{kf9!N8;2%-vau z`#0K@E8~rcx~CVlJ`e9&+0u}02(3vr`{ckddNkQ+Xtz9`DN~)#C7x%Vn~rRXnn>Eo zSfeQE8849a6!hjY210v0!8thtNL|pzQm{kSLios=2XIW4L-;~pjEWgy*r_%wH(}fI zri8S-OA=&!&K*^i!JLQ~GSCKCE|bT+rigCi0Q3!1VbwnplUBxn`FJ8jz#Niv(wdb6xoH#36aw*?)On`>HDNR*}j3JaluiDGVeHKsV`1^)I2ewOWjVSXe5L?35v2Vsj}$)q#(m{ zz7$IcGE@i-augv1d@?~%ewtVOjGy)KC7!5e*+7$^!-JT;Dk5QMpl|_&CKO3#kiQT4 z10E2vEck^K!=~62DET*=Dv~)!kIl#7kr5AyB?$rp2!)3!f@2tpNcmVm1bC=Osem9W zoPuLczs1^kG=wu=s<@1&fvxCf22G8s$$Hi*+7oI9w%NdG678pWUx4OmKhH1>8z>?c zK+{5sb;xMS%P=@5OJY5u0!Tt?26RBu&^mC;>AZ-NM=b=7#1Wxek{C82uyr$`>*)~g zi}hU{xJ8?ox-`G10&1EAo+c6|Hs?bsb{q^L2)R*k9E9L znX}fkv%1;UY&NHsLdl*e>$ka;d0WvLXW3>xI^ps!;t?z;x&bliX8yw5+TgM=reYh? zD(0RFB9IE3XMr9l<3*#?3A7G~j$AZ>1(!3Td5Y2%1mOv`FzHhm?I@ z4US4&k^C5SunH@q!A=np<4hS0pt*;B7M-^+1!$UwoFJ64`=NC(v|C3&^szr#9Wu(C z1}snT6p!|UV-y1LoS%SPfJFl?07{X5j5-*Rr9|34zK$U2yyC`cE$F-$&_R2lEQ8L= zLyS5nNn5vJq*Z8+(Wkqsh-S=Y2g&d77{gXPcqUGEp+kWytQ&cBCU@G+S#5%;eTz$h zuThntX6X|v@&a(7t79$_ZgB-Gx}~5M>T>Dgjx&i*FI4F(reqLxjW7n zM^6sM9{b`}wPMZXGk!5}XCM3FTkqYuKumZSOkQ$tGvt?c^sPoVmhKt~wOjyC>pY>7sQ_kzI4|S@}Qlgz7*5 diff --git a/kubejs/assets/tfg/textures/block/support/claystone_support.png b/kubejs/assets/tfg/textures/block/support/claystone_support.png deleted file mode 100644 index a4b7fc585d261ebb0d0e28ea38b4c5a2bafd5f66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 609 zcmV-n0-pVeP)4Tx04R}tkxM8X^J`?V7-4+9ZWFEG&5)ztdSy3j$T=9QCuRjAFkqWFZgG~Wr!<< zDULBRSm*^m>JNT*>&6HAi%Een)IEFNdneTI!1uQ2eI0q;_c8dN;L zg$|*46V9*7nz0KPThR8H)g8Sc`DOazadkTf6tWq`vFh)a+!3dAqM~e02NS7R7ItDQI>O3kZVnVUqx+LM~i1nvw>EW zR7=wU004POL_t&-l`T$D76dU2F+uKsyQurUMd&ddU3_y1^ytsIa2 zg++2!Hd98)zU{=25rRB`M2}fdfJTMzV4^627o7c`i=~(GYV|Jm-{4xIw)?81ZQr=t v#BKl~aQn4vI`kU!ZzL%am7wwaD)amRZMFi^2!#2Y00000NkvXXu0mjf@f#Pl diff --git a/kubejs/assets/tfg/textures/block/support/conglomerate_support.png b/kubejs/assets/tfg/textures/block/support/conglomerate_support.png deleted file mode 100644 index ab26835537cbe86c09e38438c7551ce3bfcd49b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2693 zcma)8eQ*qRe@GQYxX#_daaPK42(;pijBwz|AJ{AO$_=OIjH0K9NXL&VT2W^heRuO=;82>G zP4<2E_xzrZ{XOrSO}^R%#f5hlnoOo*Pqn)q{+8(1*aGGR z!a@v~Oyz^ypI%t*UNrG!dw3(+)vkvlWsYGcFzZk+tz>& zcLd3H+$t^aN+jeMJFyC;%>cM zba?8_#!CgZn`_ILE{Sz78QAs6zB||d?&G29-KSzx`^T5obg{ktg@U5}qiOT|8=h@F5{_;TA8*QeM336M*zdI&5-d%fP!~Rb%9xvN=SM{{_M%>4RJMQjz zw(aP14HN->i8|j7Ju4TG!ICrF~6%Y~vc`i7hJ+9_F5f_*>=b2GwLLD%G!> zOn=xh-emgu8$uwc1-&&4C&kSyFNJ_P8J8j2WU8E#lv%DBXh;Y|1ks5OAAJQy1m1}* zsqk97vI|6o>JiqqRJ$ls6ouYd) zooLYOLtK&q5YkMVEm&1jXd_Taf*_R&A7<*^^D`uHJCNnsmNF>Y&n^{sKxRs`9 z+(O_4fk6bOrbLZRVxoFqnj}Nx1}dirvL;9(qSLY=sa12LFb^X^_=KxULPLgMUmNVI z#^WBiAYnlefD;yr1G5kqLF+Z7i;K%%Z_ZOxGd+ae#FMOyTg?_c9?zjwt*Y&ZIM+q1 zfs_pJdZ0?J3J0p%fT-P<4JOB0)%;kkD$q?vt}#B0!!(VES^NTz*O$ZVU5f~D*+A>a zEQ;rH7`au68P9nR2Qd(b!Bxm;&0#em{KI>=Du4aSRl#A19Pd@gY+v;Fuz8GI;#&1c z9=8+K6J&Ua6L`kBr2$3TNiu}lDZ33LLm>wiVmS*29Cn@}0ma%vAj{(sRgD!npz}ax zvj9oBFzv8IC}y|VX^afpDzH#EOkk7)a1=@KAsXcT>l6XXoQ>t@qx0~P$Kv2ZoP)As zc0iLD>9Ell4MH>);wtzGIt1)Co<|YA-^^T}$B7bVOJ?bdv07MC;&5sNk(Ux`#vTyj zz^}1-ldP1*Q9;29X)9$TNNWbM7$_=KtWIXNmA33nX;1sXCotgrbglnPs0K5#{411$C$!-Yy`n` z#!CD~ZvV&Yk4gzKN01rH8?j#Pl;fPMXbDMau2bqlO@Pxz%lcz(Io^7>$Eli<@{GFt z>v&YA67-M+~RM;JMlAy?}zbb{b1gn6#5vUg^3pj9wERgbyKBs4q zi73#;XCW+@74CV~fYr(nR>n%Bd1`=F;QE%DUt6WV5y8Q}whfi~X2p1P<@#G?IVJ!l zuOEigAWa^5CH@m0d2AV>kDlyWhcuT4tb_jpB{I{?-={|saKEwy`ZtI<8M@N*^zw- zy5kmaJ2&<@>L`2L#3z>@9;_=kPAy#8-nhH=fmQ#R&|m8JEGW71`)+F7zV}u?_xi*a zKZfR{aNhFO-vdW4Tx04UFukv&MmKpe$iQ?(*34(%Y~kfC+5AS&W0Q7nRm(pG5I!Q|2}XktiG zTpR`0f`cE6RRc;UDo@A4jZ?*O4uWt!D94rsb< zrW2Bw%dd!mSM(uFUkEXoSw=FmkVV(=bq^n3@8UcQ{~IB-U@^ca63;Tjw29Y=r#Eeb z^FDEem1ULqoOsNn0}?-SUGeyhbIE0aXGY9ydX6|kES5T0>0nkiHR37asH*9dFXTK{ zId5^+sx{U+C%<8^pf6{*PICkaEFy^%L@21Cf+}ppY1K)wkfwd9i+|Ylr^uy{s{%%j zd2B#~?E1mq;CHuHadN^-3Q9oli{pI6fWR)$tUJ#4vEwvP0RJ;^rMLYX4PfSz^m<#1 z9sz^fz{Pc2Q}%$%9bo9mkWJZ@{4|AP5qLkNXUYTNTVP<->#enq(+40+T`k=J2Zz9D ziL%$a+`GTCw?F@J`-AiYbslo4mnE-E0000FP)t-seSd$4h=`Gslbf8Jadma6mkVnhJmtJsZr8!52nSgr6r5aAv6A x-A=&W?j|PQSaFL~?@efTr3mLZz4~PH&002ovPDHLkV1ghF1_b~B diff --git a/kubejs/assets/tfg/textures/block/support/dark_concrete_support.png b/kubejs/assets/tfg/textures/block/support/dark_concrete_support.png deleted file mode 100644 index b092e138a93d459b62a01e35b98c49a62f9bd313..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b&5rX(iFAw$vIz6k4|dUd zsBQ5UD3$E#;uunKi}z?CBa?y%^8rVu8LW5aF{Vs#cr)Mg{d0kxMiLzTH?sbloL`#w z@uu>k9WPJz_Qcs-FL+VD^WhzzudY+B8rN<(pxe*3davD-hi{9v8SHqwNb&rvvyN9{ f*Xe6zU0Wqz;~*fad^3DH&^iWBS3j3^P64Tx04UFukxeK>Q5?m8W{5PB%tEqw3#?3pWT_!ilx9X5EWG!|3^nh~^xnwE zQrRjC9~)l_8*8=}wn`}{lAaPi74CB6g2MMoH;VkCIOB6bWrm$ZY*;uftYymBC}VTUv4s1D+f$Y;`GJ`t zrxdR#wz4bc&pp)(LyPuwTB z93$kg(0xDZ4}N#+ru%w}NuemzJbB(*2h?uC*QV!v9(vx_5d z9m=Nw000SaNLh0L01FcU01FcV0GgZ_0001ZNklNS#4H0=-VJB*9*L zJH3JWWq)3RYUAG1Kbx1#M1`HY(NvI+;Ivyovaq;NFmkgamL1Dx-q`mavCbQJz=1D= P00000NkvXXu0mjf1Pm6Y diff --git a/kubejs/assets/tfg/textures/block/support/gabbro_support.png b/kubejs/assets/tfg/textures/block/support/gabbro_support.png deleted file mode 100644 index 6cc8bc7eb811b1639397633d1f50d7088b4bec9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3435 zcmcIneQ*@z89!^C(ZtLkABtMax)d9$d;4*_d%MeB81ezRAsy{B8z~eBRF3ZW;quDb6<;~JL4TMZ*!uWA?|$j-+}&-R$Dgfybj6zTi+^Nm zMh=C}EPC-^;-|S+AsiYysCR+qw!dH5*7nVtZXf&C?nRw<3b}o!KAzb1!FP6jFz@=a zr}q49WzQz`_ESlIVC3YljNgoI?ihH0i2iI$|N5S#f89QB{%~UN#Gd8oy;oN3Oxlfm zU)#Lp*losYaVbK9l*TQ@v1zI*o0JND0MShw{DN2)Jg+PnCpGcWw;!r!T{JxInU&h}aF z#1B>6xBABy`_A{>w`|7x&E+qjA3Y2H@vVQpF!0-+z{KsDp0+o(&XfMM`P`Q0-#veL z_V!!r@BGU|?P25Q+YUU_bNIE>qgBVUGj{GjdSIC5!dPAnZ%?Sj`XL;8(fhV7u z8wiwrXe5$uvavydRyqhYOGUxnbOvh&0+GeN834PGOQ@*bFr(!7%de1xp+(76LL<|d zsX-k^eZP%b`k;5Jbe*bfu+sX#oVUqGX5bW)zyvX0yR;C}`R3G%L$8&2Tiw zQCNd=`b-z}Ql_&Y4^n`sMGmx$jB8jX;lTpc>UN_fj>8WSKY?|>0Xeb*&suw(HIn zC7n#So${Y+kVYw##?Bp#$d+_nL;vJGOo`unGQ~M|QNo>~S*(la9~V!lwP3gBDOMXL zy#N)>f`+E}w@3nj6(o_81XiVZ4vLg2=pqFnqlS5g6J!Pzabl+90uv$+2O|d!3=%>h z#0a8HK@Nl{9;y;0p%6m}oG9p=$jXcuD%v;O2BtYkO^(OI(L5X=@IYo%N`p|QcwR-6 z6cQlCYJ$Ye9FUPLkc3xnWl201CAlC|SjJPp)h#=XyT&jzE9(^G2_ubKUEmdo6&Xno z!y#6ZBvF#Mg2qZ@JD9N^7|R4XEY_g16hi?_AtMdi5uGvHNy4kVf`i8;1RljPpr4Xb zV7ss`SqZlV&p5}m`(o2h{|Xk7JfrI|l4bW@ z9$PC~H%U||L&_lhsh|Lue|Zk*K^j>Q!VX}zBRq0(2j(%meu(UNw|7fcJ>a6T=F$^t*{Dr#mskVig-V z3M(p%NKRsd#}c0;Uql`fF9-s_?G2!+<8GHVO46k;?l&xDRXGGCSd8xf&O=VHvcfQm zAYZjS7!k^Kr^Co+1cP5iEkUeQ$_+5r! zCKV|{{|}2vXoZbn`e2tEAyDTlcR$z3uzYK2TM)a%^qYzWyhNW8r_Z zgB`naXNBsV_KQxl>EO9l-#x!;Wc*a~h0_b7Mul5Qx<^)$XreyYWAGG;8Dl diff --git a/kubejs/assets/tfg/textures/block/support/glacian_support.png b/kubejs/assets/tfg/textures/block/support/glacian_support.png deleted file mode 100644 index 1e62a9079f84abb986692a9724dfb492b9376416..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmV;h0Z;ykP)Px$YDq*vR5*=&liy0iFcijr7B|R7PlXM&un4;m*?amLK8BC7TQ52oNCkV!7BB<7 z$daYoFgH!pe&>9DPHx^`-+omU5dmOoCTyFI+E&E1b9<&{lJ?qqWIjS$Pob?xL{L?( ztsFeM9i?+^J)6%BMdyydACmw%_}V^V%2Fu$UeVUW*rm$01HN_ty=~y90dpU0`;U+caOH zz`6EFHGiL)$%Q|CuN3R`2e}XD)OT)wA*p_Ngs}@LtX4}ZBf*0swLG#&9T*H(*ZIHz zPPv|g{lQ<2HUFnruRpMMcA^FsQyGgy_qFv@MuLQR&@^8F+?9c5Od!S^yK3v{oU-}c z1O}_sGD+CE{UCt|dRorY11cd&T0C#{CCo$wz%R-uY$E@}=*$yxsEKmTTLZ zw}dLWO)IaLw6ttRb5GsaE4LNTSUGw7t;=U;jr-%B-mlJEBkqj$Z~nFR;b)f3Xl?tb z{kP)!36mDS`^$#a%e>2mZe;VN4@)k4%fPk0C)Z5Vy&F%?UvO-8In)uY1p1eDmnmQ=p3avKzVK1W^W74eoxR<;=Pr2f?UGht6NP^}#`~ zu<~*L;PoF(UwiB2wrBpj+J5Z!KN?olmTa7RefM^$;+xv0bwAH}y5_sn{oC>nyf*b_ z)8Kt4c3nEu(!Q-9_M}oZv3*G-@BI9m3wB?<^hsc3PJQdX%XPE;z0Pc2D{gN4_IUo` zSbhEGVNKIx{c2iPIA8kl+|q_Ue^-CjvFwulz*_ZiwSVRm_)-S=iUS3+qT=FtvGtAh z^JdR{Yw0U7NqBM04~OB?o=VX~&0^{OuyJ*cElEw`*UKJHx zlqJNV<$`ilccL&4GeP)-FNi}!lHXXH?3ym%9=M=kK@fmb1d)dk6h<*d4T<6+ir1U= zl(b|IVK?zOr{JWOz$1|~TGI=vZpXPNS_@Pw051ia994NxPz5A?NGg~Tj%t~)q8czv zX0Bl&gu^t=h$;M7kJp#R8(k|GBZ`SOkSUbFr!h)Y4V%ve9tU9%fx$J%NT#v67`pu) z?#SPGaz}6&BF%dTGSwF&K5QQAmied=$>VmSMuMy$^P<3-w>Ckr<=7}53o-t zgTauEO!<#jMJRJFoSBcoBS0RWvk9aS0+?WDY#0qF8e=GdfMO5?n&t$8$_=83(QkIN z&*MZXE0J9K!kiwG)d-v#Q4-{smb3@N2=MEi(IhgL$jc$}D0`lbpotthiI@OX4Jy_k zBMB=7>lApl5K?haLSlp~2e=}YqlnRY7A6l{$Qcrcgl0*sO9h-Rs{vUKJ5eJy#9&HI z2Aqwg@Y!OSH$6=UAei%qm>+Wr$8hBco;Eu02f6)+*IyyWq%=WtC?CXnr&F49w5rEs zwQ{^VJ~#vLdS_Yh=a%Lzg?pT)tJR)PmwyirM?%p>kV#gn@6OE+W@ea@Z3v5qxht?7 zpLls1R|Nz#Y2+(7sT{y97fxUTCf-BkLNJHom>dFw8VX``Fwcf@LCTH=gFHh4o+s%L zlk(T(kRIbyFuEM-1roGA-rL{gv6rjW4;V2F>P2#lmKGA}@qENN$Ld1!_jU=_Hr zrDoRVFg7AM*mt+VVQf~c$55_6swiO*s2Tk*r3Ps-$Q}6qcx138h2D9xyB!i-E?KFD zdq9OgJ|=ZCwfndv_=-gyNSfTaBJTnxx|(rtnZ+fn@Kl5=*yYqgYpl|THISfORCpA> zTV$_;$9UM|9vv9;)xe|sdw%Nc)73X8f9L6Kj};AT_GwKQ`ekRGo7=$lxb{L8_v^*V zwz_70{_)||@RHUMb9yY=dT-Jnwqr$42A-gQsAed-Is-wf_PqWrF7b diff --git a/kubejs/assets/tfg/textures/block/support/granite_support.png b/kubejs/assets/tfg/textures/block/support/granite_support.png deleted file mode 100644 index 14e0a027d870853efb7c658414a18e6e86e7ba8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 621 zcmV-z0+RiSP)4Tx04R}tkv&MmKpe$iQ>7x6f_4yb$WWau6curlDi*;)X)CnqU~=gfG-*gu zTpR`0f`cE6RRdk4F-~APfT~7ybXqS(6I`DqbVGO70nLGAr3Cd!s5u%#56v zv&mv3^v-yQr@bPUNKK3p&9$PT?H!?WsW$1N^LWa>snyK{{}f;a_&{B{rymU*wR=Y0 ze#Y#BPHxXz-y}?SU;Wl$XycP>q3$(t?o$WBR+3Z gvFr4;vaYR?uW=9%RlXTM9cUecr>mdKI;Vst03!%VR{#J2 diff --git a/kubejs/assets/tfg/textures/block/support/limestone_support.png b/kubejs/assets/tfg/textures/block/support/limestone_support.png deleted file mode 100644 index 3ee73d1ae9e5bc8f1f3c5ae3ae0c10b36a14b36e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2827 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 diff --git a/kubejs/assets/tfg/textures/block/support/migmatite_support.png b/kubejs/assets/tfg/textures/block/support/migmatite_support.png deleted file mode 100644 index b07b09d506ce3f399084b87a44347aeb020aaabe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmV!3`2dRE@#!%oPaxU2~OWpkSx8r&{;%$0*)Pw#u!)c{c5e<;yk}ID(7I%b9v)9 zJ~MpLQTe>={TgL-GvQ%_COGGMtHN9rU=g2}(cUiaSWX5;P8J1BfXsWXop!PyGxlRj zARWeza!MB8HTBaYt3neXsinp=Ps-4$!av<+SE1C%H}~tLM9OxPz#LZwF<6c)L24feO*f=LZVoZB>4g!PGNKX8I{{23`-~0Ld z-pdUC;6XWUUu$bJnR2{^`6ckTgMPJq0e=5^{#R&dQ7w2pey_)a_!TK6M1aZE`$XMb zU+?_l+yfI|oICKNVTG?slj>HtIb7mdRwT?^uy@~h>8StCqN_XS&RX8Eu;J#$TU$14 z43#r$=G`uCXxNN8PT$!rH5QGXH)7j^Yv;xfzPG5|q{;QdSFw&8{;2NMqh{>k#0Chwj(`~2SdM(b%u zd%3X*Z=Jh#sMXXPb>h7H1>>47e|Y3&YR3KPa$)JWLpK!fy;RG!Y2P}&92;@_g~P9` z?7Y6uR%Okl6YlTZP5$`q(aonp1$n%sWyMLN6wJ?UwXfmq(l7Uee!~x3_~pUM{a|`| z*Ff%PYsV~k@IhmbzppnP`|Dm^ZFTXgiMMxb6T?4LuU~rk{q9vio$1)vci+_a?yk?> zb8`EY0}V}E+GE}1ieXJNqpk~6?oQir{mQOjAM2dMd#=rx5NLaL-4bD4VlutdBm_&fQeP3xNl`PyODr%aqO$I8%IlYq z8Lk{?2n)&t(T(2Nz8ggZ-i^L%_YpqX1HwXKl>!1)gM(aEIY;qmzrHzb^Aa>9M1jU2 ziD*Pr>4Y0Kz%;zq%{Yn}E?T)8E%o^kkE8&^X119LtRNv&kSK&8NS?xn=#u<_DF__7 z(Xgh;G>*sPadX^imXtEwLQxb>kT^+V&;wH|MU6>dqS`YFNn!GV$|-`Z36hBDSca8i znj3|67zM&7TtNaFQha@E&{d7cy>MWI6M_ynNf0iKATg5C=a8ISRQCBYk)oRFA?zle zU}W54Ch%x9X;M&^eH779hmp05*pUFqo6H+F(4xV~m~RFl)#LNIPMncsrAh zAEF3Q=1e5J9-YHO4r`_CEMZ|V(n44<8*Ak;7tg^vJL|Brtc#~84n_2S)BXKkH%gj` z)X*Pcw2-7k;i?ftUW%(Jdr*jifX3)evN#Br)k4}x%3&pJb~5EL6eucGtPZmfW)hlt zjvfe643v-%Wy%09i)ARHcbj>6HQ3MoRc} zk;EC1MgZWA^@kWAV-*fy$`Cwb%)_4-_8)E_EXBnPAhjr;M}0gf!|bnUaY-p3q6}fj z0#0i#^;uyVZVBAuR86V$HhcO{iO5STx)72irSi$z0$^O0Dbl5#01 z0{WLhy+B#O1!u?t>7CN&o9RsPFwn(EkOXESF^el`A!*V{6BL@I1~>~`-%_*ZmZxt- zaA7~$hCF?a^xQxjqt?*QYBiQBiL9354hcytPToiZ|Q=5kQ;W0ki zo8Ld!<-5+a_vY*&TJJY^Yw4IifAPtjBmY?ICTuuf+iUZxZJ&H`1!wTs-i?X6O9#Ro zzkXYrpL-_v&Tp^Jo=`7zdDw-m9W*L%@z4Nr@%5kYj`;kYP5y;D>$idN-LKa4=z6H* VjAdJgAJ_jfcnb#SuNyF?`d{>Sdb0ok diff --git a/kubejs/assets/tfg/textures/block/support/pyroxenite_support.png b/kubejs/assets/tfg/textures/block/support/pyroxenite_support.png deleted file mode 100644 index 5f94c21e3799d5fb4be2ba1291b7a07c583e0eeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmV+-0p0$IP)N7%vzT=Tb&6jhlS5DD23)Q70b<0r4|;MF$)cnJ-hHrtD4OKJ3#>d$oNb- o1F6AmCa6uZ#{?6|YPf`X10?Qsg5%=6H~;_u07*qoM6N<$g5KbL2><{9 diff --git a/kubejs/assets/tfg/textures/block/support/quartzite_support.png b/kubejs/assets/tfg/textures/block/support/quartzite_support.png deleted file mode 100644 index b09cd2216805d75db71544c4ccd319d5ed5aa8f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2638 zcma);3s4kw9LKLPU*xEmCCTWvjb%A|`?xzeb~qh94!MStgS#O#EBAK)2P=2G>+ZrG zWM!D+vk^&V%7_W`877F8S(-_yS-vG|EOUC94k|tvvQex5?marl5@rtW|KH#5^Ly;~ z_y4ohJ!AT?p$`r<7!1Rlx!HyA?+EQPAPN4yc={)}aaT2Ox4WHoJK~l_KOX=F!^ER? zt6USa3)1$zIB-?YvYEN}i!aq}9&)hIzAlenv1V`EbK)WQwTAP%SG}^n_087H+pfId zvdv${G_Af`(AxSQnttNi9xR*j^7r1d2i;@>r15E;;)KY3ih6@WrqwO99oY(bv5Z= z%Er;nlRl7}&K|XWoxE^)&!P8DfC}o!0CK}Iq8PlMc28UDskI+|4yMf7cjm_%8$Sn2 z%2GXPZ*Q5?c;kik@i#AZ9Pa+TuC}^h(~DPk?GQ@8t!`fX+w0EZYEyfd*WuG4QtnK}U`QUNeeN=>sUKr74C>&$#cHuDk7mW7k>NxiFouH? zv^E&Bri3MiEdwgz10}p*L%TlSgCaaQ7*yB%*;%jpm2)9parH>3Mv!E1m)ofB#Oxf3M=!H z%8LS`VHuxTuG&zThn^sO!aBlmBg)s-I$cpY+zA(ESP(S8DT1(K1cgzVS`Crnf|AP> z_Y{<94`Da)FeBllk-&q&xV54>D*lOcTWiHzDFM6?C}O$H0!IZ9)Q4liq(Hfn7^_?X z+LoScfb-)pO+8}Fe!A1;j@xTpE8&BZZmn6ytT;AqBbCbm{W-_tAOM0exB`h}+*alN z|GbA@`D;&l1&1Nx++LQkzG(4b^XP1mE!QGBvu&uBAkB#^&(Zop?}uu_=G0(_V` zowH(@9BIaYk0mLy$&~K%Sz;Wgps0+%0*wR7Mjk>~(oZoaV8Te&Z^6tA12D$Ka+r^> z`YfawWCAM{^Us%gD03!|n2*NcAcr&)EaxW}j3j+94?oDjm<&I}Qa-?#O+E|3nNURQ zH$Bzuw4s!dh%Vg$M)iww5Kav*aAHV_?tA$l@TiQ|Br=__nn)8tW|-5>7HbSt1Y`v& zR)dj*k%D=0ES&>U43rQbWJ&-o2_-0^b)JUF!xl1{#34{GiMGptQAOD+iUAv{<%Vda z*kr)jhzg(16ItC;cL1C|e~A90PvJDC1i|B*S@@mY{>Al_iXkBmhz{kQsJ)%y%&D>( z66LadIo~%Iuxfv)|K%3v7Q!=5QRPZ!zstXkM^;49xsW8vm3?#bfO!d9(KZBlL_Za1 zhK;;Dg{c4>8r@_|8KDHgBNt9!#Eid<%1IMzq0EE{qbR^Zb^4*etr;9f0g%peBx}up zXLHnF5&de2k-^jws23;;IB>cwkcm-!J{GeKl>$wC1VuoZW2DtfQnV?Zwq&3QYJgSX z+L4-ATb6bZ!NKm^hAi!{qMe#@J>`-V;DMab4_#^ylK{`c|HmVN78QE`VSODUEW0RG z!ZV;$%?}CvOzl5hBD_4F1%e{>ugE^ek*+3OTzYYlU3e?P73^~CqSaRM%Nht!E;77| zuQa{g2Cs41nLX7z=H%$*WXeL~-U0d4`9+^49ZBiVY3Q!Gx!~qs_(P|UTrkdAQFLp7 zcY96pFF&W98hx_9_SyXQ)U(a6)+~7RfxQKPzI%65_pNbbPt;qyBR?uSF{u7x_>n=^ yKPcJ{UR!3}abL^y(kC3(=Fk3cudsdWA4zAxus=qQOC6~F7vXfw$lf|_PW9i_wTtcm diff --git a/kubejs/assets/tfg/textures/block/support/reinforced_dark_concrete_support.png b/kubejs/assets/tfg/textures/block/support/reinforced_dark_concrete_support.png deleted file mode 100644 index 5491f85c0b696072c4b541088f9a0b32384d6f38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUEzStej`K)~bc_qK2=mkr zcF}S*l`>ZsKKi=90H~(M)5S5Q;uh~IL!l-E0oDua6Z|(BM@%k#b60-hHQova$-Rv3 z4X>U5$~CYpQp|8C4rq%D1b{ zvruHyJ@$@kr{%?f P?qKkA^>bP0l+XkKQm#~X diff --git a/kubejs/assets/tfg/textures/block/support/rhyolite_support.png b/kubejs/assets/tfg/textures/block/support/rhyolite_support.png deleted file mode 100644 index 38a5ff3895ba3d9c737b2a3b4084c652df2b34d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 609 zcmV-n0-pVeP)4Tx04UFukvT{MK^TQU;}MaFg%Lz7wooet@xoG~D1w5-2=OS~-Iyq3H(@uy z#!|2qEIb;o!p2%#3tK@DJV2~0trTrU)_*oaf)K%hVLsl>d(6Cnz(Lxy+^TM{?3@!F zi)iuLIW7216|FQ;L%(ji*~#hA7-h%DEfs3L=~7wzZ`3E2ToWoZ;UP2YWFY?QFM>{!Bm!fgr5mi$1x zzzM}`imi0s{JE!kVQ9&onO3^YR>l}-k|{I{@~n_1N0+R&C@xXikCgGZ`2Hzz8RA;O z6vqe|EOg(G`h(xyy2;+2LQ*IK)lZ)H)(*if_}cWm&qL4qI)chaxUh@<%mEC(i@sUZ z+V-Jg9nLO`nz0S%8_@ia)g9fJDrE+eNq9YxZ<>Y1Yp9zq^!BsQ@g2mZtBEVv-Gh#l zWG|F?cWr5Jf1dICBk~QR2y(i@1nwIE000kAOjJdTf_|2bhlqW8esyo4n3M}3@3H^@ z010qNS#tmY3ljhU3ljkVnw%H_003!8L_t&-(;dyx4a6V}1ktgffF+^;<1~<@f}qfU zO^5D#M{hAWZ6zR&aSYKt1WnAeJ-2}_RYg_`^v?r!KcDPQj@R>?!Lbhf!ij#rZuX*5 vb!!O=ou(Z({&dpj{!4AB)5?YsL(f7#)IbUtD0iA900000NkvXXu0mjfre_Yf diff --git a/kubejs/assets/tfg/textures/block/support/schist_support.png b/kubejs/assets/tfg/textures/block/support/schist_support.png deleted file mode 100644 index 06bed4a7795661268e7395b4d66330c628dad0eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 607 zcmV-l0-*hgP)4Tx04R}tkv&MmKpe$iQ>7vm1uKX+WT;LS{6ZY1ibb$c+6t{Ym|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfa&%I3krMxx6k5c1aNLh~_a1le0HI!Hs@X9PsG4OY zV^J}aT@?eb2x0(z@MA(^rXEi%rr|lh?&0I>U4&K9P8i>4rtTK|Hf* z>74h8L#!w%#OK6g23?T&k?XR{Z=4Gb3p_Jqq?7Z+A!4!6#&R38qM;H`6NeR5qkJLb zvch?bvs$jQ<~{ifgE?&_#dVs)h+zqFBp^aY6(y8mAwsK0iisrcM?L&Qjz2*znOr3> zax9<%6_Voz|AXJ%n)#_oHz^neI$v!2V+0870*#t&e;?a+;{@ zj20++-Q(R|?Y;ebrrF;QhNW_^6!Tx-0000IP)t-sSzbtPa$$FSZ)R^+Szb|MW>MX6 z@8SRe0C-76K~xx(Est9k03irML1h119 zS;SN#f^5D!f8P`7$HxJkBylg3Cs;ncUo3!8W%{;K!%_x(TeeTv;s={30_K8F^QZs-002ovPDHLkV1g1w3<&@L diff --git a/kubejs/assets/tfg/textures/block/support/shale_support.png b/kubejs/assets/tfg/textures/block/support/shale_support.png deleted file mode 100644 index aed22ce4644505910b67fe76b900d4448ca18fb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 620 zcmV-y0+aoTP)4Tx04UFukvT{MK^TQU;}MaFg%Lz7wooet@xoG~D1w5-2=OS~-Iyq3H(@uy z#!|2qEIb;o!p2%#3tK@DJV2~0trTrU)_*oaf)K%hVLsl>d(6Cnz(Lxy+^TM{?3@!F zi)iuLIW7216|FQ;L%(ji*~#hA7-h%DEfs3L=~7wzZ`3E2ToWoZ;UP2YWFY?QFM>{!Bm!fgr5mi$1x zzzM}`imi0s{JE!kVQ9&onO3^YR>l}-k|{I{@~n_1N0+R&C@xXikCgGZ`2Hzz8RA;O z6vqe|EOg(G`h(xyy2;+2LQ*IK)lZ)H)(*if_}cWm&qL4qI)chaxUh@<%mEC(i@sUZ z+V-Jg9nLO`nz0S%8_@ia)g9fJDrE+eNq9YxZ<>Y1Yp9zq^!BsQ@g2mZtBEVv-Gh#l zWG|F?cWr5Jf1dICBk~QR2y(i@1nwIE000$GOjJcoNlZ*jPFz@CXk=(oQB-YcZAL># zz=`cx00009a7bBm000XU000XU0RWnu7ytkOZb?KzR2b70jWG%XF%Sdi;JDg>dx6$3 z@RHs!`vc=XMY#VzA!}6vjU*0JtuMgVn%>l)1jqdW4R?h^xt{MC(NUaX(?teS9mZU# ztiq6ba%@Ee{Hm#QJ-pr5^5*0w<<897wwxP`Iy8{yyG(x=C>AYBs-1rT0000(v|C@M1;G$P55;qQ&cHDNsb{_gxBG>ls%c{~B1$Abh^B`n2& z#ZunCv5T!9UpZs7dsZ@JYUSiWLl!Jf~~bsQgDxqH@ILt6uTZkXD=`0l&=%ALJC zPRt%CEq?AqTm8?qZ=UO#Qs6E>Uw*k~@Ie2#jWb(He&E0C?cHP*c6XixACz30F4sNy z#?bZQHQR!H&!0KIuiHHm#0#;rry6QDpPk!D-nGU1-qNQ_siBS!m#rNv+5B5{;>w=y zciy~t*8bAk<(<82R$uyc!OG!74>>+P{ZMT|)$?DU{c&KFQG0r!$`zl-c# z|7dk}|y@TIpe5B%=DFf#9_vbqtqd))Z$#c)wd0=2=auC?tu)<4m` zVQpu7+wScfHg&E%v#E3myn92Uda-7)Oqpg}<1AaZ&9GP|?~sCv^hN$!PEg`jUQ|NB znu;eN+G26KQwd&Z0y+``5lMET-yb@RB9iDr8|{9=pYVXFRNbb6hPL@Zp{+?^Mbv#? zQGqkXL54Wcc_bB&$r_h(p(Zg0{~Kl;MNEj^w%^;s{*KM0kVF3cCtjQS<9cR zSp$a2j5Q{PaTumKV-`Qp=MUuYM%5xxJYk{@WELd~IZUEijhXjF0S7SSRfJ|^CZE@Z8Ub>mB1j^a{!2Ru!bUTgofSeD zO#vImFo3~AAr^$}6}&w}GFcv_I6G8g$+$5?MhocG3plG;1d-$P8j3P&KGn zgN!7s6on$9z|DnJJd}_W=OX}5$PpAVD$l{-VF`Id;*iixiSwv{*A+FWC@~jm#D*A5 z+0KBykr6&us|cp2=>SBt{}A(KcH#Ye1i^DgC;o44f8lM2DoHsylX}a3#8*}>C@NlLTT@9HOwe{-Q8o=^AQ>F|t2{CsC zju+C4r|~U7L^DPq%F7V|w_MnPX_#~kl{>hG0Gh}fDC1?!Xw2@ z#c7;DQ$BBHaK@>k59gE|AqpqHdvWSJw)TPY1y|}sk>BGk*eYvo zyW@fP=j+*K%aSB=@Ta-TMot9UHo{Q8vy*zN-1&{r4|j^(SG%r?CJ4 diff --git a/kubejs/assets/tfg/textures/block/support/strophar_support.png b/kubejs/assets/tfg/textures/block/support/strophar_support.png deleted file mode 100644 index 1310b2b4d2ed059fe24cd1c64cfc033419ace087..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27728 zcmcJYTdb$&b=HTd62vr$Ln{ z!`|D6SgJr=kzRxbE>H@HgQ(P?3W1Pl3nD=v0g)Ot5=B66K!RTM0%(v(S_vY4>pzD$ zbeyayG;zi=lfB>leeYqdXFboe-v4KwyZ+&KJ@!M7UAlDXUC(~x>ht{jarxixc?ZA# z)aPD~{Og@}KJw$|moEL@ACUk3u1i1t*WP>S(x3j;jTc_Lc=6iDPx|StC+awD^NBZZ z-QlY*U3&6^Z``T|H+pwAKe&NE`KUqGuQ4sJzu`@kvGrgC*QpO zLVxp>UdH7Qe&FcIH%=Jf*1V`kZ``_h`~2jME0+)Bp74A5>*LEuhcCH!<;vx!^{meiy~a=ck^66Re)0VL_IxV7oi9Ip^PQ8Y&t|4C%aeJJ;e*Q<~r``L8d9_~5E0>*Np^U8e3pSqY{8RYj zi7|J-^ctIJ)QkGoFV35bFIacN775?^#i!%O`t(fsNwZfo?ih0c@b zSkl&4v#v!uM{)PR|LSRfRaRKO|LzGHr=2mr{VcH;Gs`NQ&$(}7-@{g%DO;`TrC%~ zjj+e9wi349YskGWUt3U*mF#S(fv2t3queF6}##R?o zRjsX?nW6VG_qu!i+~@3bw0T?6IGOvtwN?BUTPdw3U*_D^&sEHDh39h7_O1IpZQ0te z)4Em&Bkr4z?SEg7;A5w{~Q^92D|ig-^`3VC)Baaw-^Z{txvzDQaY1m zLt9Dxj(xOI+aiRvx$XO5?w4mVdr8B3*Ry_qt&v9LrQA$)bDp`c(T&ae%7ez?W9ZuF zvc|f7a1?_tYiotG%?h&9Ql54?+4faGmdn0Rc2(HN);Lgdkk*!cY-7c?)==*WYto!; z)~!0bw!_<2%L&*?OM6dj-l(2?YX*U~vT%cZHv67g$7r|Cp4iC+W_Rj+Z_RSiC%5g9 z15Ro&Th56f?rdALj=7pT7FyejcY_R-J!AQO5?2imx6hOVA=)+d*(OeL=1SeX^LBGx z&SMN?8>5rFy6GnB$J%}Cp3G@YBvBR4W61;_>st-RC8D8zPwdr&;v3;6+E89wx$^<`0+6cU33m}=k3`e|>S*kit zSmOO)BN4hd(d-HGw&y(hX~!hjjbQY9wTzUA3FILTc*t^w8sUGhsl^quPgXx)HO9JT z+(NZZ_C0goiToTLA9IhXIQ`jfv5+g6dqO)SkZZF%X7DY$7*~%?ojYvr#xVa|nywIB zR^HhdJHN2w zwzT&?8_{U*>i9+Ytaaz5W_EM)J7>Gv29`4wjKT`HqMk3uxoe&DzvsGdPNph%wl1iS zSjdKOL%ml4)Gbt3w_rKofV#dFmV>!ZKE-9*DC#rhyeCkw(Q62dz=;O?#I;8pMTJi@TiXZ_p5O3#ztjLWnPu9Rc*{MgW1)*71#+Y8P=LTLnS54Xb=y~L%Uq|3-*}dS2*|!Adk{9J{+cn)70hp&>$2@y-t?)=KY%3iw zCb@%2oM9E)lOCHm9?HRH5LY`}D@bi+y4#i&bZt!?`k3P?n<5+_A-T3qiG`FL1ZrP; zo`6NGKSNC_3r`AKD{Xcs@DvU^i`laY4m6$gd!iN6JhMdPVjYtJIziN_n$BJYWjb}< zcHNB$0Oz^Da=YOj^B97HYYO1cG#_Dq^|3o$uhdhRlvS4E!$?kJ+S|rXVXMqo!7kddJh_3z;`J(o zgE_=|4$o#IDIxlDF$y2??@ywwNV1v z!3N8j^PnFqm>!5UfN*dj(T|yvr6A}yiXz8Z(vL;HX6d(P4f#~=C>_Lrv{Tyu(3$_TJ-%=EAC=+wQaAeNfVaN1it>I@QHJVT% z)Fh`hXdD7{;jcmKWvchr4p`kIyh++^Vf6&x7s_1t#gwVCVsYwNxKnP=hlH(IMf~R zAC}{|o2iZyyN?yp3jF0D)Tk9?-*>@Gp2NKh+o7&&cc0jl9>#l6Zx7+pn)MVPqfAe> z%PXq)>JAs1ok_w3H;NDDp13Lp9Fl?H6Ca_rf>|O;6Y6V%&)J!7widhz90#d8z-8(= zD}dm#laiKFCT-y^sYA8w{qDkENCmq(u9EAaBML!z$^z`fFERkX%f=ETW`Jc-@2^Ou zUpUq#vU==$3nuUIt4w2oD)KX`IXQ70&6wS^$zU~|EC_Sd0-@Ydn7_Cd=9ZN z1-RPLt+&ZQH0htKyUI5^ik9j`q*)vv(ON=bG+6Eu^>MXFPsu@=b&|ZN%)LSRgp9Fp zR~|-MzgLF^GZ_d~%1D-wv1(vc$mnJ`UqEbq`~u*HWjeK}@DrW6mzsU^jVQQ>4sWYJ zk7KeoBT!Xx2OJ-fUjVST6)s0;QKOGv)A94+O_tAc3T5A$8o&T+w~p=Fr@BsqZYR@H zR@owinvp$WIZ_bbydBGsy#BdX5GV~BR~(<9g(Q+a{J=(n*te|fQ36yYh zhhx54Wh@~70{_Ag6!l&OO4baiAxOz@q!IG=Zs0^yYcl~U+*HReqB490c%qZ-QD4|! z4Vo5JV4>-lfI^_2uMnmS-XU2vq663ve9ues$_O9;&@uEiOaP5Q5<-kKJ%W8HLxJKO zJS~~l?xmX^m_scm^#>y8hJPeJf(&y9B_yUSw~y4 zI_AK)XR73a`m)&VO`Z!rVY9CKn(K^CpVPpjhylpg;TH=hR%|Jd&warb&L)JH5JN`5CIuLwTRZ_5#`~kU>ZOcIjdt1p+2{X zzz^-njEk08DG;F65Dd#$Wi@qNC1Rnjb7;`_5f`lFp$Q8)c8E+n*kMIIU(t~35fO;1 zEI<)Xw0g9Y-tsC5JQt06e??Rv5nMKtsA1q9VNfFT1#S{jG(b10=PP0k>J;jv|Aho2 zlpK)^Dl$X(f-{HFB$`g-xpqkW z%Kt^!Rp+4?klji5lZ9EckQ)fBo@wT00Fb> z@mGv+9RiooBftPs^JS0c(CCArarFL41vuoK?5}kWf`kO z6(#bSsThZlOV#tmL+xUB$ct!d2#eHKglq^t9*O8fMAMH2mjE#Z-A=|3pMz-90>|pC z2tE+p`sZqncf_-{ENpLDf=ytnw$R|2BANrYzhl~mp1_o5bBFb!A3p5 zN`(lJ6q8nkL-z8H#gNnX>R}q#E;*{tBhhphI0@<^el_ukpdV8*J7gw!tM~{SYuaI& z@Pm-VaNMz1@zkJWZis~odT4nzh;|(b46xUv*`3uFzey(Mkd~-}S|@mw?$vQ35%5qt z5URXj6T>=|iQa)D&7%KOckOEYMTyvLz~#vc?Vx%>eVxplh=o`VMS@l1dvPLwmcViW z(h!Y;(6#V96bx2jAQj=OP|p`Yo+2F?AZ8p<)Eel>w zW+=KlY8WAc@(nV0H2r)*M`KW-H~<9-{$lO}$6)P)bVkvYgMJ-h_<9fm2cwX1d`uOr zA-a{t+6e%C1ixJ34FTWm)k#5$Bm<$g6B?2I@W8Z{!>*1K2~cA^oG4n1P?$0nRx}|4 z$aG?8acT^JcNM=E>xljdi*xW#$QjyOMOwhGlk_@r0{1f4jU@#8iaP<2zhLt5L}7cw zkFo3Lo&=3I2z(D2BODCe5N0W;NF;RP2S!HyeBtK^jYlFslDvg;uRz`n)jhDNfKI(G zni^A22}ME#=McX*)`=J8S)tGa6m!+bLRilh#JjSKOHTM`YiI8z!Ok~WVZk|NsihP@exs8ojVeS;|ZTcF@=H&_XwYZ)fR22HB4Sj(BPA5}(m{ZS zi4X|QUbSROYNY8YC#EP_>UBddL60799|!)4PYy7 zjss^!Ndo}Du)`B}tIlZ|^Z{a(=m6I-4!*RB%@$mM%#Hhwu&do)BAEFAH`Ji(QOHF{ zUf@Eak8{{jK~Cxzjnah*z$396cJW$M4?)|Lw{d08;$ZRBXNZ1-Op(Z*K#GImkhw?R zq2?QiVwKuz==T?%nhfa-MJ|92?2P9WN}0d(l(YtTuOADswiuEa3Kc>{AwPn6z|rVf z2-2g%qpRmWC1#h@Xl7@Vq0@oCsMFw5%)q-_QNBN8du=n=*Wj6jfy1ZsSIq*=l;M;#{KQ znA5y)3fL;CB&qhucLR=1JNLyQO<8cErCkMgyX20BXUp0gqfOvEeO~~!Sqg$op&@h? z+e@$sOc*p~Bj#g6)?*W_11r&7BTGo`5PtQLYjHRac0P?6dfub}+;FJ^!tu~javWBH z=pzLd!HY1K)Nz70g9D}A$5*;wnrPCXXBjKOLBgHvR-J1L4+RB;F*JDG?bMPGM7a6^ zC1}zMbzjeQATQ!8mFO@L-x&q|YX@@D8-`@NB8giaze+);U-THzP9Wu;#0hcF=QweD z!q}lysP`9Mi;+4K44UYML7o~W68<4PaIb=lAAz$%UnC6y=!+Pe@jMU)C8wd~khGI{ zfA!CW>qv|fBa>DFq&I)|>RgMj z!8#gDXlaB80KoBF;ws}j7RP7}ep&sFKrZ$Xo4|^&BlCqYgocl&6~swEYicZ4rU+`p zoP=rqZtoTp1O6{`ZwfV94D=X)oj#~Wu^&m_34LJVXF@dx5ick)8zG^z?^q3@G!nby zG=PAU7!9|C3{PhyTQ8vSsK)}WvXN*klpX_|-(V(eWP}YGl)R@oV5)Pin0w&`DOw~9 zrbAA{6HckcHfwz(tJkDiD3?h#+ggyU;6U>BSUl#AS8zE0Zo;eMm!C@%1>mB3m6em?>BeLRq*DT0WsAb`lY-r+QynO|)K$;R`_klaAy^1R3Zs z9+5;)MH*JGBSnERcnjcd(l(@rg&GoiCjsLit`-1aJr-mobU2(stm32*jRGc_gliY5 z00+<`>@Tuwzy%HOi(d{M0TfKAhd!k51Er6tS7S`#GhqiZ8)_Rq=isXqJF9pVDY>LI zQ=K27qwRr^Ks7$#FA|$jq;zB83d`g*JufHrM#?d1G(pv7H*kguowfto97836Lf?Bz z%!3l;r6wIa(o0F+UPy@O6V!i=x7XwQihBS{4XM#mkmdu`?XWRdIfc)|9d3!cWjS1(!{^WZ2=yms5-7RZ}Gs!)%Gi4UhKR1Td6cYU>);sp#~3zJV{ zgx;e|^X0;I3VWY50KgU2> z*AwL)4N<5<(j(O}p%Jq@=h8YC^gb92fs??_J4$moksckH8E4M6GSb-$u(z&5Z|cY5MDD~@JOLySw03YIl_b0c5r@7L8U*!YQGP--5hB1j z3%zGNh3?%PnWBRCngaB!Fh;l^Nz z=JiC{Tyi@=l4z*T+tBS2+L1AtA$Gg)U*K2i4Fvf>5%B8T`GSLshoAvYM@n(y89~+o-`^s2!79jhfG{wcv*WZEAJ+1qehHaYC*`^34lDA20l#|Fz z9Ez;2-64$!!he?uA_7XUZaX-x44oPXYGh1x{2~x?1p~4#cuun7LAQdB2HAP;m?^YS zsq;{WW)c%RCmNxGrx1MzN(RGXqHSw&#?>*p(|c#QwE|I9GVB4bQfq9|t_XQgRhjhr zE5bX=%|MLBe2IsW%X~PQl7k_)3qVM{@6nQ|jDfxIjQ4T}8nsZQT$jQHE&v|&Skj0- zMR!N$5PgW}BAOyS0ms?0d+@5E}{fcjh1&?O77ryxUCAP{-Nj~0HA){Z7Gm}OT8^ogYX)Qi$d44= zP!{5u58PR{W8l)S<3h)Qx57-2fY5XkkvkflYSfNmiR20pb*>#Sk912Ao-;lLVxe5n zKn=rf0Z7t#ooLz6zT7)9fu4_dg>FD*OS#oWr)RSH} zVl>1%f*ST_y)SJrC0x@28;9LUbOp|~5FXqOL_-R;KxA(9+>>k2&gjeZU`$#B7|_F| zAqY?ja-o9P=k38jG;sjq#9bAocZ)kLsImaSU`;AyJ;nsq6Vj!%Hc;0dygoH@wll5* z*FAlnUO)Fcom&$-;6AvR1ko6}o%TiU5h;#U&OZ8ZY9oTV2s6x)6?jU|qHL{LyOr8#l zN4Sp<&x_pQC->e_v7?eR42g`ZdC+&TYF0MB`nfP1(M*7?6PGEsnn*0fv(5EsKpy&Q z;N8`^mfMDi&b0f0LZq2hunDmP4kl5|Ls%hQsh^Af1}>_REe~gf=TxvSINGwh5KR!@ z`r4hc4o?U@*W8On)hL*Wx@CfMApc-E*~a?4iq^6`J&OtAmrW+zHu4wDGz~wF-mpi& zg#*tRNJrY5?{eF~xE(JnIv56NdUd#XP(5FT^jxXangqmq{zCK)b_&~`8W{~%Jr)>? z+D8oJXywuaO9J5xQGJU`7lT<)<3gBXTA`8e>AjW&A~kZsp@zAZ38b-zf7H*#y-^ez z$Z~j1bwmj8@XGM;0H$p!y)fzrNsOiM9U=egKT&%E}cML8{`nKFzi8Hi&CqQ$l!)hTIqU} zI~p?^4qq*f0}RjLeDz+XIUa6EI4dr~ko+j2o}5O#$156cZ`AubCX_qnIc8xRkGCk- zGjffR-1P*)!_)$;pvH1soK#8wa#b2H%CRA*5ub@PL~t^kdOLfvtp0Mxf?S67Z^!hIo8nX>oVZ@}VD#OOol`=DE=3Xg?yP z4*1o`4u%CtQhun%Y8~Ae%9krZ=sP)R(uRo9xhO?$ZQv3;{a77G6SGXY2e*wk3MXp? zGwq4ALBN1V)}L+sA-D+0+al~Bc}>gS@)N2z7uu*1lP6}-xTEHCy> z+VHtsQ9Tw!HsMQp`sq@@pF>cyLg1LAd(t6ts4{*oK+-TY=xX{{tL&$ zeWz+}d(riaDGuG8hnjK}D{<)Aa>7HQPVf46YRxr8T(P%*C9ET$J zT&U+u)PF-zrj8_}9_}6PIARJ$0B<=9q+9h^7;)t)ax_CaYPhS80-jsa(6@p5yde^| zy6#xgDlF9oye}Bw;Ik5o4Xg#W0ImlByQrUQ@+ML`a=`iJ&~GKTN6=e~t3ViA{T;?~ zEeEVSQC@D01b=ac@I+&k;<`Xe%J2wzh_SfVMlJ=yMGLCuZ3}f3_0Yk^2eY8R$Bi-} zQpLz!Vu;C@FImElm4(uZKnVDH1TWd*=2upXLc`&R!pteoayU`0sI%0La!sHbe_=N9 z!;*(+G(jt;Ga5FAY8eX#booGoe^?*I{cHc(HC$E+L&%l+v{}h*MTgrM=vcwfCRU_} zbvxYuZuEU_WFaUWE^EOY#{3>S(n$_jM7YQ2VSSwUzgzQ>1HW|#KKSm1n&YJ5&A`4> zgM-Ne8VDRBm;JHm+z$Ho-`zprfL3O0Qdb3Ta3e2KhcE=!i%kgXhegEuKbx`wi5}Ah z0w_EovLWP`vLKWWzlz_w&OEC2jT9A zDja|JPha5i_{@oq+>lRW`1HNcP59*eGY>vN;pp&TA1AfThnQTs+~or}=D2+CuWvl$ zvnn)8bpQKbe|a(}?sJ$egty=N!5nvg`uXX)c)gy@r(WW7ExzXme;mKv!=KmJzWbxo zjUtpeT$^;8a|0p4mqdWg8|gc6n#ss-^XTyfXHI-LA-vxEOp)Ktqu-m>{&Kzj(&Q6y zjxYcAUj~*In+gOSBqaDmE;@lwMuQ@<3iao~#SeR#hkoYC@9@j?)7!7jv$t%lJN2yc zsXp`U{L1BZc6#fm-nn!0Mz699k6*hz?tNI!gS~xpaeDOaPf~f?NgMO*##{ElTYt)f zM>zWb`18K!j?;ax%iY<3>tXpFUZg|(xEltJ|L+KK_s>`F&g3()Hir-NIeAzt(C$G# z;pc=;sd@Fge{Kzh*!OH*k{vCho&LXmZjJ1r!!*3*L!9pa6`u?xzkTqLRQ%z=hg!|s zoZB-#vMT)aANs?5+|_S9d-bUo-v7Cu_?*4|efIl5^p$`8`4@lknICxUtMTQ(_{&#* z_7}hJZ~ypHPd)d8U;fKC-v6!7{=3KC@u}wo|CC;#I={o<4V<~@JqmybVJjz9CQ z&wk-op1Jxn|LD*D%2$s*|3CiHM{oVzpZM9|{Bs}s!glv^XI!Ql>b!!=0|UR@DKdtmw)jC;|D(> TpZWFdhpu1!dq4W8{`~&|5oRIf diff --git a/kubejs/assets/tfg/textures/block/support/travertine_support.png b/kubejs/assets/tfg/textures/block/support/travertine_support.png deleted file mode 100644 index c3fbb5b4cc558e3e3b0c0be6a79a26313274aa67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmV+d0sa1oP)EJI->PVBq$CGp%Y { event.addAdvanced(['tfg:reinforced_light_concrete_support', 'tfg:reinforced_dark_concrete_support', 'tfg:steel_support'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.support.tier3')) }) - const other_stone = ['pyroxenite', 'migmatite', 'travertine'] + const other_stone = ['migmatite', 'pyroxenite', 'travertine', 'keratophyre', 'anorthosite', 'norite', 'argillite', 'trachyte', 'komatiite', 'phonolite', 'permafrost', 'red_granite', 'stone'] const stone_types = global.TFC_STONE_TYPES.concat(other_stone) stone_types.forEach(stone => { diff --git a/kubejs/server_scripts/minecraft/recipes.removes.js b/kubejs/server_scripts/minecraft/recipes.removes.js index 22e143b9d..c48fac8cb 100644 --- a/kubejs/server_scripts/minecraft/recipes.removes.js +++ b/kubejs/server_scripts/minecraft/recipes.removes.js @@ -14,26 +14,6 @@ function removeMinecraftRecipes(event) { event.remove({ id: 'ae2:entropy/heat/cobblestone_stone' }) event.remove({ id: 'gtceu:compressor/stone_from_dust' }) event.remove({ id: 'gtceu:rock_breaker/stone' }) - - event.remove({ id: 'gtceu:shaped/stone_stair_saw' }) - event.remove({ id: 'gtceu:shaped/stone_slab_saw' }) - - event.remove({ id: 'gtceu:shaped/cobblestone_stair_saw' }) - event.remove({ id: 'gtceu:shaped/cobblestone_slab_saw' }) - event.remove({ id: 'gtceu:shaped/cobblestone_slab_wall' }) - - event.remove({ id: 'gtceu:shaped/mossy_cobblestone_stair_saw' }) - event.remove({ id: 'gtceu:shaped/mossy_cobblestone_slab_saw' }) - event.remove({ id: 'gtceu:shaped/mossy_cobblestone_slab_wall' }) - - event.remove({ id: 'gtceu:shaped/red_sandstone_stair_saw' }) - event.remove({ id: 'gtceu:shaped/red_sandstone_wall_saw' }) - event.remove({ id: 'gtceu:shaped/red_sandstone_polish_hammer' }) - - event.remove({ id: 'gtceu:shaped/smooth_red_sandstone_stair_saw' }) - event.remove({ id: 'gtceu:shaped/smooth_red_sandstone_slab_saw' }) - - event.remove({ id: 'gtceu:shaped/cut_red_sandstone_slab_saw' }) //#endregion @@ -2080,7 +2060,7 @@ function removeMinecraftRecipes(event) { event.remove({ id: 'minecraft:raw_gold_block' }) event.remove({ id: 'minecraft:raw_gold' }) - //#endregion + //#endregionw //#region Исправление дерьма с железом (Однажды разраб GTCEu вспомнит, лучше бы забыл) @@ -2101,4 +2081,6 @@ function removeMinecraftRecipes(event) { event.remove({ id: 'minecraft:flower_banner_pattern' }) event.remove({ id: 'gtceu:assembler/lodestone' }) + + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.stone.js b/kubejs/server_scripts/tfc/recipes.stone.js index 378ca7a1e..cc057b9f7 100644 --- a/kubejs/server_scripts/tfc/recipes.stone.js +++ b/kubejs/server_scripts/tfc/recipes.stone.js @@ -7,25 +7,24 @@ function registerTFCStoneRecipes(event) { let stoneMaterial = TFGHelpers.getMaterial(stone); let stoneDust = ChemicalHelper.get(TagPrefix.dust, stoneMaterial, 1) - let smallStoneDust = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1) - // Кирпич (предмет) + // Brick (item) event.recipes.gtceu.cutter(`tfg:tfc/${stone}_loose_to_brick`) .itemInputs(`tfc:rock/loose/${stone}`) .itemOutputs(`tfc:brick/${stone}`) .duration(10) .EUt(2) - //#region Сырой камень + //#region Raw Stone - // Сырой камень -> Сырой камень + // Breaker Duping event.recipes.gtceu.rock_breaker(`${stone}_raw`) .notConsumable(`tfc:rock/raw/${stone}`) .itemOutputs(`tfc:rock/raw/${stone}`) .duration(16) .EUt(7) - // Сырой камень -> Булыжник + // Hammering event.recipes.gtceu.forge_hammer(`${stone}_raw_to_cobble`) .itemInputs(`tfc:rock/raw/${stone}`) .itemOutputs(`tfc:rock/cobble/${stone}`) @@ -36,7 +35,7 @@ function registerTFCStoneRecipes(event) { .recipeTier(1) .id(`greate:pressing/${stone}_raw_to_cobble`) - // ? -> Сырая нажимная пластина + // Raw Pressure Plate event.shaped(`tfc:rock/pressure_plate/${stone}`, [ ' B ', 'CDC', @@ -55,7 +54,7 @@ function registerTFCStoneRecipes(event) { .duration(50) .EUt(2) - // ? -> Сырая кнопка + // Raw Button event.remove({ id: `tfc:crafting/rock/${stone}_button` }) generateCutterRecipe(event, `tfc:rock/pressure_plate/${stone}`, `6x tfc:rock/button/${stone}`, 50, 2, `${stone}_raw_button`) @@ -92,87 +91,77 @@ function registerTFCStoneRecipes(event) { // #region Stonecutting - // Сырой камень -> Ступени + // Raw event.remove({ id: `tfc:crafting/rock/${stone}_raw_stairs` }) - - // Сырой камень -> Плиты event.remove({ id: `tfc:crafting/rock/${stone}_raw_slab` }) - - // Сырой камень -> Стена event.remove({ id: `tfc:crafting/rock/${stone}_raw_wall` }) - // Булыжник -> Ступени + // Cobble event.remove({ id: `tfc:crafting/rock/${stone}_cobble_stairs` }) - - // Булыжник -> Плиты event.remove({ id: `tfc:crafting/rock/${stone}_cobble_slab` }) - - // Булыжник -> Стена event.remove({ id: `tfc:crafting/rock/${stone}_cobble_wall` }) - // Булыжник -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_smooth_stairs` }) - - // Булыжник -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_smooth_slab` }) - - // Булыжник -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_smooth_wall` }) - - // Блок кирпичей -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_bricks_stairs` }) - - // Блок кирпичей -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_bricks_slab` }) - - // Блок кирпичей -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_bricks_wall` }) - - // Потрескавшийся кирпич -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_stairs` }) - - // Потрескавшийся кирпич -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_slab` }) - - // Потрескавшийся кирпич -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_wall` }) - - // Замшелый булыжник -> Ступени + // Mossy Cobble event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_stairs` }) - - //Замшелый булыжник -> Плиты event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_slab` }) - - // Замшелый булыжник -> Стена event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_wall` }) - // Замшелый булыжник -> Ступени + // Smooth + event.remove({ id: `tfc:crafting/rock/${stone}_smooth_stairs` }) + event.remove({ id: `tfc:crafting/rock/${stone}_smooth_slab` }) + event.remove({ id: `tfc:crafting/rock/${stone}_smooth_wall` }) + + // Bricks + event.remove({ id: `tfc:crafting/rock/${stone}_bricks_stairs` }) + event.remove({ id: `tfc:crafting/rock/${stone}_bricks_slab` }) + event.remove({ id: `tfc:crafting/rock/${stone}_bricks_wall` }) + + // Cracked Bricks + event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_stairs` }) + event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_slab` }) + event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_wall` }) + + // Mossy Bricks event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_stairs` }) - - //Замшелый булыжник -> Плиты event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_slab` }) - - // Замшелый булыжник -> Стена event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_wall` }) - // Укрепленный сырой камень -> Гладкий + //walls + event.remove({ id: `tfc:stonecutting/rock/${stone}_raw_wall` }) + event.remove({ id: `tfc:stonecutting/rock/${stone}_cobble_wall` }) + event.remove({ id: `tfc:stonecutting/rock/${stone}_mossy_cobble_wall` }) + event.remove({ id: `tfc:stonecutting/rock/${stone}_smooth_wall` }) + event.remove({ id: `tfc:stonecutting/rock/${stone}_bricks_wall` }) + event.remove({ id: `tfc:stonecutting/rock/${stone}_cracked_bricks_wall` }) + event.remove({ id: `tfc:stonecutting/rock/${stone}_mossy_bricks_wall` }) + + // Hardened -> Smooth event.stonecutting(`tfc:rock/smooth/${stone}`, `tfc:rock/hardened/${stone}`).id(`hardened_${stone}_to_smooth`) - // Блок кирпичей -> Резной кирпич + // Chiseled Brick -> Brick event.stonecutting(`tfc:rock/chiseled/${stone}`, `tfc:rock/bricks/${stone}`).id(`chiseled_${stone}`) + //Walls + event.stonecutting(`2x tfc:rock/raw/${stone}_wall`, `tfc:rock/raw/${stone}`).id(`raw_to_${stone}_raw_wall`) + event.stonecutting(`2x tfc:rock/cobble/${stone}_wall`, `tfc:rock/cobble/${stone}`).id(`cobble_to_${stone}_cobble_wall`) + event.stonecutting(`2x tfc:rock/mossy_cobble/${stone}_wall`, `tfc:rock/mossy_cobble/${stone}`).id(`mossy_cobble_to_${stone}_mossy_cobble_wall`) + event.stonecutting(`2x tfc:rock/smooth/${stone}_wall`, `tfc:rock/smooth/${stone}`).id(`smooth_to_${stone}_smooth_wall`) + event.stonecutting(`2x tfc:rock/bricks/${stone}_wall`, `tfc:rock/bricks/${stone}`).id(`bricks_to_${stone}_bricks_wall`) + event.stonecutting(`2x tfc:rock/cracked_bricks/${stone}_wall`, `tfc:rock/cracked_bricks/${stone}`).id(`cracked_bricks_to_${stone}_cracked_bricks_wall`) + event.stonecutting(`2x tfc:rock/mossy_bricks/${stone}_wall`, `tfc:rock/mossy_bricks/${stone}`).id(`mossy_bricks_to_${stone}_mossy_bricks_wall`) + // #endregion - //#region Булыжник + //#region Cobblestone - // Булыжник -> Булыжник + // Breaker Dupe event.recipes.gtceu.rock_breaker(`${stone}_cobble`) .notConsumable(`tfc:rock/cobble/${stone}`) .itemOutputs(`tfc:rock/cobble/${stone}`) .duration(16) .EUt(7) - // Булыжник -> Гравий + // Hammering Cobble -> Gravel event.recipes.gtceu.forge_hammer(`${stone}_cobble_to_gravel`) .itemInputs(`tfc:rock/cobble/${stone}`) .itemOutputs(`tfc:rock/gravel/${stone}`) @@ -183,7 +172,7 @@ function registerTFCStoneRecipes(event) { .recipeTier(1) .id(`greate:pressing/${stone}_cobble_to_gravel`) - // Камни -> Булыжник + // Glueing Losse to Cobble event.shaped(`tfc:rock/cobble/${stone}`, [ 'ABA', 'BAB', @@ -204,7 +193,7 @@ function registerTFCStoneRecipes(event) { // #endregion - //#region Кирпич -> Блок кирпичей + //#region Bricks Glueing event.recipes.gtceu.assembler(`bricks_${stone}`) .itemInputs(`5x tfc:brick/${stone}`) @@ -216,7 +205,7 @@ function registerTFCStoneRecipes(event) { //#endregion - //#region Кирпич -> Потрескавшийся кирпич + //#region Cracking Bricks event.recipes.gtceu.forge_hammer(`cracked_bricks_${stone}`) .itemInputs(`tfc:rock/bricks/${stone}`) @@ -230,9 +219,9 @@ function registerTFCStoneRecipes(event) { //#endregion - //#region Замшелый булыжник + //#region Mossy Cobble - // Булыжник -> Замшелый булыжник + // Cobble -> Mossy Cobble event.shaped(`tfc:rock/mossy_cobble/${stone}`, [ 'ABA', 'BAB', @@ -260,7 +249,7 @@ function registerTFCStoneRecipes(event) { //#endregion - //#region Блок кирпичей -> Замшелый кирпич + //#region Bricks -> Mossy Bricks event.recipes.gtceu.assembler(`mossy_bricks_${stone}`) .itemInputs(`tfc:rock/bricks/${stone}`, '#tfc:compost_greens_low') @@ -272,7 +261,7 @@ function registerTFCStoneRecipes(event) { //#endregion - //#region Укрепленный камень + //#region Hardened event.recipes.gtceu.assembler(`hardened_${stone}`) .itemInputs(`5x tfc:rock/raw/${stone}`) @@ -284,7 +273,7 @@ function registerTFCStoneRecipes(event) { //#endregion - //#region Укрепленный камень + //#region Smooth event.recipes.gtceu.assembler(`smooth_${stone}`) .itemInputs(`8x tfc:rock/raw/${stone}`) @@ -296,7 +285,7 @@ function registerTFCStoneRecipes(event) { //#endregion - //#region Акведук + //#region Aqueduct event.recipes.gtceu.assembler(`aqueduct_${stone}`) .itemInputs(`3x tfc:brick/${stone}`) @@ -308,11 +297,14 @@ function registerTFCStoneRecipes(event) { //#endregion - //#region Декрафт блоков камня в пыль + //#region Macerator + // + // + // + // + //#region Whole Blocks - //#region Целый блок - - // Сырой + // Raw event.recipes.gtceu.macerator(`raw_${stone}_to_dust`) .itemInputs(`tfc:rock/raw/${stone}`) .itemOutputs(stoneDust) @@ -320,7 +312,15 @@ function registerTFCStoneRecipes(event) { .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) - // Булыжник + // Hardened + event.recipes.gtceu.macerator(`hardened_${stone}_to_dust`) + .itemInputs(`tfc:rock/hardened/${stone}`) + .itemOutputs(stoneDust.withCount(2)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Cobble event.recipes.gtceu.macerator(`cobble_${stone}_to_dust`) .itemInputs(`tfc:rock/cobble/${stone}`) .itemOutputs(stoneDust) @@ -328,31 +328,7 @@ function registerTFCStoneRecipes(event) { .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) - // Гладкий - event.recipes.gtceu.macerator(`smooth_${stone}_to_dust`) - .itemInputs(`tfc:rock/smooth/${stone}`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Кирпичи - event.recipes.gtceu.macerator(`bricks_${stone}_to_dust`) - .itemInputs(`tfc:rock/bricks/${stone}`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Потрескавшиеся кирпичи - event.recipes.gtceu.macerator(`cracked_bricks_${stone}_to_dust`) - .itemInputs(`tfc:rock/cracked_bricks/${stone}`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Замшелый булыжник + // Mossy Cobble event.recipes.gtceu.macerator(`mossy_cobble_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_cobble/${stone}`) .itemOutputs(stoneDust) @@ -360,7 +336,31 @@ function registerTFCStoneRecipes(event) { .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) - // Замшелый кирпич + // Smooth + event.recipes.gtceu.macerator(`smooth_${stone}_to_dust`) + .itemInputs(`tfc:rock/smooth/${stone}`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Bricks + event.recipes.gtceu.macerator(`bricks_${stone}_to_dust`) + .itemInputs(`tfc:rock/bricks/${stone}`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Cracked Bricks + event.recipes.gtceu.macerator(`cracked_bricks_${stone}_to_dust`) + .itemInputs(`tfc:rock/cracked_bricks/${stone}`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Mossy Bricks event.recipes.gtceu.macerator(`mossy_bricks_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_bricks/${stone}`) .itemOutputs(stoneDust) @@ -368,129 +368,137 @@ function registerTFCStoneRecipes(event) { .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) + // Chiseled + event.recipes.gtceu.macerator(`chiseled_${stone}_to_dust`) + .itemInputs(`tfc:rock/chiseled/${stone}`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + //#endregion - //#region Ступень + //#region Stairs - // Сырой + // Raw event.recipes.gtceu.macerator(`raw_stairs_${stone}_to_dust`) .itemInputs(`tfc:rock/raw/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) + .itemOutputs(stoneDust) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) - // Булыжник + // Cobble event.recipes.gtceu.macerator(`cobble_stairs_${stone}_to_dust`) .itemInputs(`tfc:rock/cobble/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) + .itemOutputs(stoneDust) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) - // Гладкий - event.recipes.gtceu.macerator(`smooth_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/smooth/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Кирпичи - event.recipes.gtceu.macerator(`bricks_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/bricks/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Потрескавшиеся кирпичи - event.recipes.gtceu.macerator(`cracked_bricks_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/cracked_bricks/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Замшелый булыжник + // Mossy Cobble event.recipes.gtceu.macerator(`mossy_cobble_stairs_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_cobble/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) + .itemOutputs(stoneDust) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) - // Замшелый кирпич + // Smooth + event.recipes.gtceu.macerator(`smooth_stairs_${stone}_to_dust`) + .itemInputs(`tfc:rock/smooth/${stone}_stairs`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Bricks + event.recipes.gtceu.macerator(`bricks_stairs_${stone}_to_dust`) + .itemInputs(`tfc:rock/bricks/${stone}_stairs`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Cracked Bricks + event.recipes.gtceu.macerator(`cracked_bricks_stairs_${stone}_to_dust`) + .itemInputs(`tfc:rock/cracked_bricks/${stone}_stairs`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Mossy Bricks event.recipes.gtceu.macerator(`mossy_bricks_stairs_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_bricks/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) + .itemOutputs(stoneDust) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) //#endregion - //#region Плита + //#region Slab - // Сырой + // Raw event.recipes.gtceu.macerator(`raw_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/raw/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) + .itemInputs(`2x tfc:rock/raw/${stone}_slab`) + .itemOutputs(stoneDust) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) - // Булыжник + // Cobble event.recipes.gtceu.macerator(`cobble_slab_${stone}_to_dust`) .itemInputs(`tfc:rock/cobble/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) + .itemOutputs(stoneDust) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) - // Гладкий - event.recipes.gtceu.macerator(`smooth_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/smooth/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Кирпичи - event.recipes.gtceu.macerator(`bricks_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/bricks/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Потрескавшиеся кирпичи - event.recipes.gtceu.macerator(`cracked_bricks_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/cracked_bricks/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Замшелый булыжник + // Mossy Cobble event.recipes.gtceu.macerator(`mossy_cobble_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_cobble/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) + .itemInputs(`2x tfc:rock/mossy_cobble/${stone}_slab`) + .itemOutputs(stoneDust) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) - // Замшелый кирпич + // Smooth + event.recipes.gtceu.macerator(`smooth_slab_${stone}_to_dust`) + .itemInputs(`2x tfc:rock/smooth/${stone}_slab`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Bricks + event.recipes.gtceu.macerator(`bricks_slab_${stone}_to_dust`) + .itemInputs(`2x tfc:rock/bricks/${stone}_slab`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Cracked Bricks + event.recipes.gtceu.macerator(`cracked_bricks_slab_${stone}_to_dust`) + .itemInputs(`2x tfc:rock/cracked_bricks/${stone}_slab`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Mossy Bricks event.recipes.gtceu.macerator(`mossy_bricks_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_bricks/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) + .itemInputs(`2x tfc:rock/mossy_bricks/${stone}_slab`) + .itemOutputs(stoneDust) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) //#endregion - //#region Стена + //#region Walls event.recipes.tfc.chisel(`tfc:rock/raw/${stone}_wall`, `tfc:rock/raw/${stone}_slab`, 'smooth') event.recipes.tfc.chisel(`tfc:rock/cobble/${stone}_wall`, `tfc:rock/cobble/${stone}_slab`, 'smooth') @@ -500,80 +508,63 @@ function registerTFCStoneRecipes(event) { event.recipes.tfc.chisel(`tfc:rock/mossy_cobble/${stone}_wall`, `tfc:rock/mossy_cobble/${stone}_slab`, 'smooth') event.recipes.tfc.chisel(`tfc:rock/mossy_bricks/${stone}_wall`, `tfc:rock/mossy_bricks/${stone}_slab`, 'smooth') - // Сырой + // Raw event.recipes.gtceu.macerator(`raw_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/raw/${stone}_wall`) + .itemInputs(`2x tfc:rock/raw/${stone}_wall`) .itemOutputs(stoneDust) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) - // Булыжник + // Cobble event.recipes.gtceu.macerator(`cobble_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/cobble/${stone}_wall`) + .itemInputs(`2x tfc:rock/cobble/${stone}_wall`) .itemOutputs(stoneDust) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) - // Гладкий - event.recipes.gtceu.macerator(`smooth_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/smooth/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Кирпичи - event.recipes.gtceu.macerator(`bricks_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/bricks/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Потрескавшиеся кирпичи - event.recipes.gtceu.macerator(`cracked_bricks_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/cracked_bricks/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Замшелый булыжник + // Mossy Cobble event.recipes.gtceu.macerator(`mossy_cobble_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_cobble/${stone}_wall`) + .itemInputs(`2x tfc:rock/mossy_cobble/${stone}_wall`) .itemOutputs(stoneDust) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) - // Замшелый кирпич + // Smooth + event.recipes.gtceu.macerator(`smooth_wall_${stone}_to_dust`) + .itemInputs(`2x tfc:rock/smooth/${stone}_wall`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Bricks + event.recipes.gtceu.macerator(`bricks_wall_${stone}_to_dust`) + .itemInputs(`2x tfc:rock/bricks/${stone}_wall`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Cracked Bricks + event.recipes.gtceu.macerator(`cracked_bricks_wall_${stone}_to_dust`) + .itemInputs(`2x tfc:rock/cracked_bricks/${stone}_wall`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Mossy Bricks event.recipes.gtceu.macerator(`mossy_bricks_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_bricks/${stone}_wall`) + .itemInputs(`2x tfc:rock/mossy_bricks/${stone}_wall`) .itemOutputs(stoneDust) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) //#endregion - - // Резной кирпич - event.recipes.gtceu.macerator(`chiseled_${stone}_to_dust`) - .itemInputs(`tfc:rock/chiseled/${stone}`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Укрепленный - event.recipes.gtceu.macerator(`hardened_${stone}_to_dust`) - .itemInputs(`tfc:rock/hardened/${stone}`) - .itemOutputs(stoneDust.withCount(2)) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - //#endregion event.recipes.tfc.collapse(`tfc:rock/cobble/${stone}`, `#forge:ores_in_ground/${stone}`) diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js index 921804dfc..320678422 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -6,6 +6,30 @@ */ function registerTFGRockRecipes(event) { + // #region REMOVES + event.remove({ id: 'gtceu:shaped/stone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/stone_slab_saw' }) + + event.remove({ id: 'gtceu:shaped/cobblestone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/cobblestone_slab_saw' }) + event.remove({ id: 'gtceu:shaped/cobblestone_slab_wall' }) + + event.remove({ id: 'gtceu:shaped/mossy_cobblestone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/mossy_cobblestone_slab_saw' }) + event.remove({ id: 'gtceu:shaped/mossy_cobblestone_slab_wall' }) + + event.remove({ id: 'gtceu:shaped/red_sandstone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/red_sandstone_wall_saw' }) + event.remove({ id: 'gtceu:shaped/red_sandstone_polish_hammer' }) + + event.remove({ id: 'gtceu:shaped/smooth_red_sandstone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/smooth_red_sandstone_slab_saw' }) + + event.remove({ id: 'gtceu:shaped/cut_red_sandstone_slab_saw' }) + + removeMaceratorRecipe(event, 'macerate_nether_bricks') + removeMaceratorRecipe(event, 'macerate_chiseled_nether_bricks') + // #region GLUEING_TOGETHER // loose rocks to cobble, bricks to brick blocks const GLUEING_TOGETHER = [ @@ -132,6 +156,44 @@ function registerTFGRockRecipes(event) { }) // #endregion LOOSE_TO_BRICKS + // #region AQUEDUCTS + const AQUEDUCTS = [ + { brick: 'tfg:brick/deepslate', aqueduct: 'tfg:rock/aqueduct_deepslate' }, + { brick: 'tfg:brick/dripstone', aqueduct: 'tfg:rock/aqueduct_dripstone' }, + { brick: 'minecraft:nether_brick', aqueduct: 'tfg:rock/aqueduct_nether' }, + { brick: 'tfg:brick/moon_stone', aqueduct: 'tfg:rock/aqueduct_moon_stone' }, + { brick: 'tfg:brick/moon_deepslate', aqueduct: 'tfg:rock/aqueduct_moon_deepslate' }, + { brick: 'tfg:brick/mars_stone', aqueduct: 'tfg:rock/aqueduct_mars_stone' }, + { brick: 'tfg:brick/venus_stone', aqueduct: 'tfg:rock/aqueduct_venus_stone' }, + { brick: 'tfg:brick/mercury_stone', aqueduct: 'tfg:rock/aqueduct_mercury_stone' }, + { brick: 'tfg:brick/glacio_stone', aqueduct: 'tfg:rock/aqueduct_glacio_stone' }, + { brick: 'tfg:brick/permafrost', aqueduct: 'tfg:rock/aqueduct_permafrost' }, + { brick: 'tfg:brick/red_granite', aqueduct: 'tfg:rock/aqueduct_red_granite' } + ] + + AQUEDUCTS.forEach(x => { + event.shaped(x.aqueduct, [ + 'A A', + 'BAB' + ], { + A: x.loose, + B: 'tfc:mortar' + }) + }) + + event.shaped('tfg:rock/aqueduct_stone', [ + 'ABA', + 'ABA', + 'AAA' + ], { + A: 'gtceu:stone_ingot', + B: 'tfc:mortar' + }) + + + // #endregion AQUEDUCT + + // #region RAW_TO_POLISHED const RAW_TO_POLISHED = [ // Beneath @@ -256,21 +318,21 @@ function registerTFGRockRecipes(event) { // #endregion RAW_TO_POLISHED - // cracked bricks - + // #region CRACKING const CRACKING = [ - { raw: 'minecraft:deepslate_bricks', cracked: 'minecraft:cracked_deepslate_bricks' }, - { raw: 'minecraft:deepslate_tiles', cracked: 'minecraft:cracked_deepslate_tiles' }, - { raw: 'minecraft:nether_bricks', cracked: 'minecraft:cracked_nether_bricks' }, - { raw: 'ad_astra:moon_stone_bricks', cracked: 'ad_astra:cracked_moon_stone_bricks' }, - { raw: 'ad_astra:mars_stone_bricks', cracked: 'ad_astra:cracked_mars_stone_bricks' }, - { raw: 'ad_astra:venus_stone_bricks', cracked: 'ad_astra:cracked_venus_stone_bricks' }, + { raw: 'minecraft:deepslate_bricks', cracked: 'minecraft:cracked_deepslate_bricks' }, + { raw: 'minecraft:deepslate_tiles', cracked: 'minecraft:cracked_deepslate_tiles' }, + { raw: 'minecraft:nether_bricks', cracked: 'minecraft:cracked_nether_bricks' }, + { raw: 'ad_astra:moon_stone_bricks', cracked: 'ad_astra:cracked_moon_stone_bricks' }, + { raw: 'tfg:rock/bricks_moon_deepslate', cracked: 'tfg:rock/cracked_bricks_moon_deepslate' }, + { raw: 'ad_astra:mars_stone_bricks', cracked: 'ad_astra:cracked_mars_stone_bricks' }, + { raw: 'ad_astra:venus_stone_bricks', cracked: 'ad_astra:cracked_venus_stone_bricks' }, { raw: 'ad_astra:venus_sandstone_bricks', cracked: 'ad_astra:cracked_venus_sandstone_bricks' }, - { raw: 'gtceu:red_granite_bricks', cracked: 'gtceu:cracked_red_granite_bricks' }, - { raw: 'ad_astra:mercury_stone_bricks', cracked: 'ad_astra:cracked_mercury_stone_bricks' }, - { raw: 'ad_astra:glacio_stone_bricks', cracked: 'ad_astra:cracked_glacio_stone_bricks' }, - { raw: 'ad_astra:permafrost_bricks', cracked: 'ad_astra:cracked_permafrost_bricks' }, - { raw: 'tfg:rock/bricks_moon_deepslate', cracked: 'tfg:rock/cracked_bricks_moon_deepslate' } + { raw: 'ad_astra:mercury_stone_bricks', cracked: 'ad_astra:cracked_mercury_stone_bricks' }, + { raw: 'ad_astra:glacio_stone_bricks', cracked: 'ad_astra:cracked_glacio_stone_bricks' }, + { raw: 'ad_astra:permafrost_bricks', cracked: 'ad_astra:cracked_permafrost_bricks' }, + { raw: 'gtceu:red_granite_bricks', cracked: 'gtceu:cracked_red_granite_bricks' } + ] CRACKING.forEach(x => { @@ -288,7 +350,9 @@ function registerTFGRockRecipes(event) { .recipeTier(1) .id(`greate:pressing/${x.raw}_to_${x.cracked}`.replace(/:/g, '_')) }) + // #endregion CRACKING + // #region HAMMERING // Defined in kubejs/startup_scripts/tfg/constants.js global.HAMMERING.forEach(x => { event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.hammered}`.replace(/[: ]/g, '_')) @@ -301,24 +365,23 @@ function registerTFGRockRecipes(event) { .recipeTier(x.eu <= 8 ? 0 : 1) .id(`greate:pressing/${x.raw}_to_${x.hammered}`.replace(/[: ]/g, '_')) }) + // #endregion HAMMERING - // slabs, stairs, walls - - // #region CUTTER + // #region CUT_GRIND // // (spacing for region titles) - // - let CUTTER = [ + // + let CUT_GRIND = [ // #region Nether // Deepslate { raw: 'minecraft:deepslate', stair: 'tfg:rock/deepslate_stairs', slab: 'tfg:rock/deepslate_slab', wall: 'tfg:rock/deepslate_wall', - dust: null, loose: null, stonecutting: false }, // Raw + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Raw { raw: 'minecraft:cobbled_deepslate', stair: 'minecraft:cobbled_deepslate_stairs', slab: 'minecraft:cobbled_deepslate_slab', wall: 'minecraft:cobbled_deepslate_wall', dust: 'gtceu:deepslate_dust', loose: 'tfg:loose/deepslate', stonecutting: false }, // Cobble { raw: 'tfg:rock/mossy_cobble_deepslate', stair: 'tfg:rock/mossy_cobble_deepslate_stairs', slab: 'tfg:rock/mossy_cobble_deepslate_slab', wall: 'tfg:rock/mossy_cobble_deepslate_wall', - dust: null, loose: null, stonecutting: true }, // Cobble - Mossy + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: true }, // Cobble - Mossy { raw: 'minecraft:polished_deepslate', stair: 'minecraft:polished_deepslate_stairs', slab: 'minecraft:polished_deepslate_slab', wall: 'minecraft:polished_deepslate_wall', dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Smooth @@ -428,40 +491,40 @@ function registerTFGRockRecipes(event) { // #region Space const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] - CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( { raw: `ad_astra:${stone}_stone`, stair: `ad_astra:${stone}_stone_stairs`, slab: `ad_astra:${stone}_stone_slab`, wall: `tfg:rock/${stone}_stone_wall`, dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Raw )) ) - CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( { raw: `ad_astra:${stone}_cobblestone`, stair: `ad_astra:${stone}_cobblestone_stairs`, slab: `ad_astra:${stone}_cobblestone_slab`, wall: `tfg:rock/cobble_${stone}_wall`, dust: `tfg:${stone}_stone_dust`, loose: `tfg:loose/${stone}_stone`, stonecutting: true } // Cobble )) ) - CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( { raw: `tfg:rock/mossy_cobble_${stone}`, stair: `tfg:rock/mossy_cobble_${stone}_stairs`, slab: `tfg:rock/mossy_cobble_${stone}_slab`, wall: `tfg:rock/mossy_cobble_${stone}_wall`, dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Cobble - Mossy )) ) - CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( { raw: `ad_astra:polished_${stone}_stone`, stair: `ad_astra:polished_${stone}_stone_stairs`, slab: `ad_astra:polished_${stone}_stone_slab`, wall: `tfg:rock/polished_${stone}_wall`, dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Smooth )) ) - CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( { raw: `ad_astra:${stone}_stone_bricks`, stair: `ad_astra:${stone}_stone_brick_stairs`, slab: `ad_astra:${stone}_stone_brick_slab`, wall: `ad_astra:${stone}_stone_brick_wall`, dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Bricks )) ) - CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( { raw: `ad_astra:cracked_${stone}_stone_bricks`, stair: `tfg:rock/cracked_bricks_${stone}_stairs`, slab: `tfg:rock/cracked_bricks_${stone}_slab`, wall: `tfg:rock/cracked_bricks_${stone}_wall`, dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Bricks - Cracked )) ) - CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( { raw: `tfg:rock/mossy_bricks_${stone}`, stair: `tfg:rock/mossy_bricks_${stone}_stairs`, slab: `tfg:rock/mossy_bricks_${stone}_slab`, wall: `tfg:rock/mossy_bricks_${stone}_wall`, dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Bricks - Mossy )) ) - CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( { raw: `ad_astra:chiseled_${stone}_stone_bricks`, stair: `ad_astra:chiseled_${stone}_stone_stairs`, slab: `ad_astra:chiseled_${stone}_stone_slab`, wall: `tfg:rock/chiseled_bricks_${stone}_wall`, dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Bricks - Extra )) ) - CUTTER = CUTTER.concat([ + CUT_GRIND = CUT_GRIND.concat([ // Moon Deepstone { raw: 'ad_astra:moon_deepslate', stair: 'tfg:rock/moon_deepslate_stairs', slab: 'tfg:rock/moon_deepslate_slab', wall: 'tfg:rock/moon_deepslate_wall', dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Raw @@ -569,7 +632,6 @@ function registerTFGRockRecipes(event) { { raw: 'minecraft:purpur_block', stair: 'minecraft:purpur_stairs', slab: 'minecraft:purpur_slab', wall: null, dust: null, loose: null, stonecutting: true }, - // #endregion Space // #region Other @@ -597,17 +659,29 @@ function registerTFGRockRecipes(event) { // #endregion Other ]) - CUTTER.forEach(x => { + CUT_GRIND.forEach(x => { console.log(x.raw) + if (x.raw != null && x.dust != null ) { + try{ + event.recipes.gtceu.macerator(x.raw.replace(/.*:/g, 'macerate_')) + .itemInputs(x.raw) + .itemOutputs(x.dust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + } catch(e){ } + } if (x.stair != null) { - event.recipes.tfc.chisel(x.stair, x.raw, 'stair') + if (x.raw != null) { + event.recipes.tfc.chisel(x.stair, x.raw, 'stair') - if (x.stonecutting) { - event.stonecutting(x.stair, x.raw).id(`${x.raw}_to_${x.stair}`.replace(/:/g, '_')) + if (x.stonecutting) { + event.stonecutting(x.stair, x.raw).id(`${x.raw}_to_${x.stair}`.replace(/:/g, '_')) + } } if (x.dust != null) { - event.recipes.gtceu.macerator(`macerate_${x.stair}`.replace(/:/g, '_')) + event.recipes.gtceu.macerator(x.stair.replace(/.*:/g, 'macerate_')) .itemInputs(x.stair) .itemOutputs(x.dust) .duration(150) @@ -620,14 +694,16 @@ function registerTFGRockRecipes(event) { } } if (x.slab != null) { - event.recipes.tfc.chisel(x.slab, x.raw, 'slab').extraDrop(x.slab) - - if (x.stonecutting) { - event.stonecutting(`2x ${x.slab}`, x.raw).id(`${x.raw}_to_${x.slab}`.replace(/:/g, '_')) + if (x.raw != null) { + event.recipes.tfc.chisel(x.slab, x.raw, 'slab').extraDrop(x.slab) + + if (x.stonecutting) { + event.stonecutting(`2x ${x.slab}`, x.raw).id(`${x.raw}_to_${x.slab}`.replace(/:/g, '_')) + } } if (x.dust != null) { - event.recipes.gtceu.macerator(`macerate_${x.slab}`.replace(/:/g, '_')) + event.recipes.gtceu.macerator(x.slab.replace(/.*:/g, 'macerate_')) .itemInputs(`2x ${x.slab}`) .itemOutputs(x.dust) .duration(150) @@ -640,26 +716,28 @@ function registerTFGRockRecipes(event) { } } if (x.wall != null) { - event.recipes.tfc.chisel(x.wall, x.raw, 'smooth') - - if (x.stonecutting) { - event.stonecutting(x.wall, x.raw).id(`${x.raw}_to_${x.wall}`.replace(/:/g, '_')) + if (x.raw != null) { + event.recipes.tfc.chisel(x.wall, x.raw, 'smooth') + + if (x.stonecutting) { + event.stonecutting(`2x ${x.wall}`, x.raw).id(`${x.raw}_to_${x.wall}`.replace(/:/g, '_')) + } + } + if (x.slab != null) { + event.recipes.tfc.chisel(x.wall, x.slab, 'smooth') } if (x.dust != null) { - event.recipes.gtceu.macerator(`macerate_${x.wall}`.replace(/:/g, '_')) - .itemInputs(x.wall) + event.recipes.gtceu.macerator(x.wall.replace(/.*:/g, 'macerate_')) + .itemInputs(`2x ${x.wall}`) .itemOutputs(x.dust) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) } } - if (x.slab != null && x.wall != null) { - event.recipes.tfc.chisel(x.wall, x.slab, 'smooth') - } - if (x.loose != null) { + if (x.loose != null && x.raw != null) { event.shapeless(`4x ${x.loose}`, [x.raw]) } }) @@ -671,37 +749,95 @@ function registerTFGRockRecipes(event) { .duration(40) .EUt(2) - // #endregion CUTTER + // #endregion CUT_GRIND - // Stone Cutter Sets - const red_granite_cutter_set = Ingredient.of('#tfg:red_granite_cutter_set').itemIds.toArray().map(String); - red_granite_cutter_set.forEach(block => { - event.stonecutting(block, - Ingredient.of('#tfg:red_granite_cutter_set').subtract(block) - ).id(`tfg:stonecutter/${block.replace(/:/g, "/")}`) - - }) + // #region MACERATOR + // For all the blocks not already handles bu the CUTTER loop. + const MACERATOR = [ + { block: 'tfg:rock/hardened_deepslate', dust: 'gtceu:deepslate_dust' }, + { block: 'minecraft:chiseled_deepslate', dust: 'gtceu:deepslate_dust' }, + { block: 'tfg:rock/hardened_blackstone', dust: 'gtceu:blackstone_dust' }, + { block: 'minecraft:chiseled_blackstone', dust: 'gtceu:blackstone_dust' }, + { block: 'tfg:rock/hardened_dripstone', dust: 'tfg:dripstone_dust' }, + { block: 'minecraft:chiseled_nether_bricks', dust: 'gtceu:netherrack_dust' }, + { block: 'tfg:rock/hardened_moon_stone', dust: 'tfg:moon_stone_dust' }, + { block: 'ad_astra:moon_pillar', dust: 'tfg:moon_stone_dust' }, + { block: 'tfg:rock/hardened_moon_deepslate', dust: 'tfg:moon_deepslate_dust' }, + { block: 'tfg:rock/pillar_moon_deepslate', dust: 'tfg:moon_deepslate_dust' }, + { block: 'tfg:rock/hardened_mars_stone', dust: 'tfg:mars_stone_dust' }, + { block: 'ad_astra:mars_pillar', dust: 'tfg:mars_stone_dust' }, + { block: 'tfg:rock/hardened_venus_stone', dust: 'tfg:venus_stone_dust' }, + { block: 'ad_astra:venus_pillar', dust: 'tfg:venus_stone_dust' }, + { block: 'tfg:rock/hardened_mercury_stone', dust: 'tfg:mercury_stone_dust' }, + { block: 'ad_astra:mercury_pillar', dust: 'tfg:mercury_stone_dust' }, + { block: 'tfg:rock/hardened_glacio_stone', dust: 'tfg:glacio_stone_dust' }, + { block: 'ad_astra:glacio_pillar', dust: 'tfg:glacio_stone_dust' }, + { block: 'tfg:rock/hardened_red_granite', dust: 'gtceu:granite_red_dust' }, + { block: 'gtceu:red_granite_tile', dust: 'gtceu:granite_red_dust' }, + { block: 'gtceu:square_red_granite_bricks', dust: 'gtceu:granite_red_dust' }, + { block: 'gtceu:red_granite_windmill_a', dust: 'gtceu:granite_red_dust' }, + { block: 'gtceu:red_granite_windmill_b', dust: 'gtceu:granite_red_dust' }, + { block: 'gtceu:small_red_granite_bricks', dust: 'gtceu:granite_red_dust' }, + { block: 'gtceu:red_granite_small_tile', dust: 'gtceu:granite_red_dust' }, + { block: 'gtceu:chiseled_red_granite', dust: 'gtceu:granite_red_dust' } + ] - const moon_deepslate_cutter_set = Ingredient.of('#tfg:moon_deepslate_cutter_set').itemIds.toArray().map(String); - moon_deepslate_cutter_set.forEach(block => { - event.stonecutting(block, - Ingredient.of('#tfg:moon_deepslate_cutter_set').subtract(block) - ).id(`tfg:stonecutter/${block.replace(/:/g, "/")}`) - + MACERATOR.forEach(x => { + event.recipes.gtceu.macerator(x.block.replace(/.*:/g, 'macerate_')) + .itemInputs(x.block) + .itemOutputs(x.dust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) }) + //#endregion + + // #endregion MACERATOR + + // #region STONECUTTER + const STONECUTTER = [ + [ 'minecraft:deepslate_bricks', 'minecraft:deepslate_tiles', 'minecraft:chiseled_deepslate' ], + [ 'minecraft:polished_blackstone_bricks', 'minecraft:chiseled_polished_blackstone' ], + [ 'minecraft:nether_bricks', 'minecraft:nether_bricks' ], + [ 'ad_astra:moon_stone_bricks', 'ad_astra:chiseled_moon_stone_bricks', ], + [ 'tfg:rock/bricks_moon_deepslate', 'tfg:rock/chiseled_bricks_moon_deepslate', ], + [ 'ad_astra:mars_stone_bricks', 'ad_astra:chiseled_mars_stone_bricks', ], + [ 'ad_astra:venus_stone_bricks', 'ad_astra:chiseled_venus_stone_bricks', ], + [ 'ad_astra:mercury_stone_bricks', 'ad_astra:chiseled_mercury_stone_bricks', ], + [ 'ad_astra:glacio_stone_bricks', 'ad_astra:chiseled_glacio_stone_bricks', ], + [ 'ad_astra:permafrost_bricks', 'ad_astra:chiseled_permafrost_bricks', ], + [ 'gtceu:red_granite_bricks', 'gtceu:red_granite_tile', 'gtceu:square_red_granite_bricks', + 'gtceu:red_granite_windmill_a', 'gtceu:red_granite_windmill_b', 'gtceu:small_red_granite_bricks', + 'gtceu:red_granite_small_tile', 'gtceu:chiseled_red_granite' ], + [ 'minecraft:stone_bricks', 'minecraft:chiseled_stone_bricks' ] + ] + + STONECUTTER.forEach(set => { + set.forEach(block1 => { + set.forEach(block2 => { + if( block1 != block2 ){ event.stonecutting(block1, block2) } + }) + }) + }) + // #endregion STONECUTTER // #region PILLARS const PILLARS = [ - { raw: 'ad_astra:moon_stone_bricks', pillar: 'ad_astra:moon_pillar' }, - { raw: 'ad_astra:mars_stone_bricks', pillar: 'ad_astra:mars_pillar' }, - { raw: 'ad_astra:venus_stone_bricks', pillar: 'ad_astra:venus_pillar' }, - { raw: 'ad_astra:mercury_stone_bricks', pillar: 'ad_astra:mercury_pillar' }, - { raw: 'ad_astra:glacio_stone_bricks', pillar: 'ad_astra:glacio_pillar' }, - { raw: 'ad_astra:permafrost_bricks', pillar: 'ad_astra:permafrost_pillar' }, - { raw: 'minecraft:purpur_block', pillar: 'minecraft:purpur_pillar' } + { raw: 'minecraft:polished_deepslate', pillar: 'create:deepslate_pillar' }, + { raw: 'create:polished_cut_dripstone', pillar: 'create:dripstone_pillar' }, + { raw: 'create:cut_dripstone', pillar: 'create:dripstone_pillar' }, + { raw: 'ad_astra:moon_stone_bricks', pillar: 'ad_astra:moon_pillar' }, + { raw: 'tfg:rock/pillar_moon_deepslate', pillar: 'tfg:rock/bricks_moon_deepslate' }, + { raw: 'ad_astra:mars_stone_bricks', pillar: 'ad_astra:mars_pillar' }, + { raw: 'ad_astra:venus_stone_bricks', pillar: 'ad_astra:venus_pillar' }, + { raw: 'ad_astra:mercury_stone_bricks', pillar: 'ad_astra:mercury_pillar' }, + { raw: 'ad_astra:glacio_stone_bricks', pillar: 'ad_astra:glacio_pillar' }, + { raw: 'ad_astra:permafrost_bricks', pillar: 'ad_astra:permafrost_pillar' }, + { raw: 'minecraft:purpur_block', pillar: 'minecraft:purpur_pillar' } ] PILLARS.forEach(x => { + console.log(x.pillar) event.shaped(`2x ${x.pillar}`, [ 'A', 'A' @@ -712,74 +848,19 @@ function registerTFGRockRecipes(event) { event.stonecutting(x.pillar, x.raw).id(`${x.raw}_to_${x.pillar}`.replace(/:/g, '_')) }) - // pillar shaped recipes - event.shaped( - Item.of('create:deepslate_pillar', 2), [ ' A ', ' A ' ], { A: 'minecraft:polished_deepslate' } - ) + // horizontal shaped recipes event.shaped( Item.of('create:layered_deepslate', 2), [ 'AA ' ], { A: 'minecraft:polished_deepslate' } ) - event.shaped( - Item.of('create:dripstone_pillar', 2), [ ' A ', ' A ' ], { A: 'create:polished_cut_dripstone' } - ) event.shaped( Item.of('create:layered_dripstone', 2), [ 'AA ' ], { A: 'create:polished_cut_dripstone' } ) - event.shaped( - Item.of('create:dripstone_pillar', 2), [ ' A ', ' A ' ], { A: 'create:polished_cut_dripstone' } - ) - event.shaped( - Item.of('create:layered_dripstone', 2), [ 'AA ' ], { A: 'create:polished_cut_dripstone' } - ) - - event.shaped( - Item.of('tfg:rock/pillar_moon_deepslate', 2), [ ' A ', ' A ' ], { A: 'tfg:rock/bricks_moon_deepslate' } + Item.of('create:layered_dripstone', 2), [ 'AA ' ], { A: 'create:cut_dripstone' } ) // #endregion PILLARS - // #region MACERATOR - const MACERATOR = [ - { block: 'minecraft:deepslate', dust: 'gtceu:deepslate_dust' }, - { block: 'minecraft:dripstone_block', dust: 'tfg:dripstone_dust' }, - { block: 'ad_astra:moon_stone', dust: 'tfg:moon_stone_dust' }, - { block: 'ad_astra:moon_deepslate', dust: 'tfg:moon_deepslate_dust' }, - { block: 'ad_astra:mars_stone', dust: 'tfg:mars_stone_dust' }, - { block: 'ad_astra:venus_stone', dust: 'tfg:venus_stone_dust' }, - { block: 'ad_astra:mercury_stone', dust: 'tfg:mercury_stone_dust' }, - { block: 'ad_astra:glacio_stone', dust: 'tfg:glacio_stone_dust' }, - { block: 'ad_astra:permafrost', dust: 'gtceu:ice_dust' }, - { block: 'ae2:sky_stone', dust: 'ae2:sky_dust' } - ] - - MACERATOR.forEach(x => { - event.recipes.gtceu.macerator(`macerate_${x.block}`.replace(/:/g, '_')) - .itemInputs(x.block) - .itemOutputs(x.dust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - }) - - //#region Crackrack/netherrack dust compat - event.recipes.gtceu.macerator(`raw_crackrack_to_dust`) - .itemInputs('beneath:crackrack') - .itemOutputs('gtceu:netherrack_dust') - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - event.recipes.gtceu.macerator('crackrack_cobble_to_dust') - .itemInputs('tfg:rock/cobble_crackrack') - .itemOutputs('gtceu:netherrack_dust') - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - //#endregion - - // #endregion MACERATOR - // #region ROCK_DUPING (Breaker) const ROCK_DUPING = [ { block: 'minecraft:deepslate', dimension: null }, diff --git a/kubejs/server_scripts/tfg/recipes.supports.js b/kubejs/server_scripts/tfg/recipes.supports.js index 645a7a11c..318998bc1 100644 --- a/kubejs/server_scripts/tfg/recipes.supports.js +++ b/kubejs/server_scripts/tfg/recipes.supports.js @@ -114,62 +114,44 @@ function registerTFGSupportRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]) }) - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('8x tfg:travertine_support', [ - 'AB ', - 'AC ', - 'AC ' - ],{ - A: 'tfg:loose/dripstone', - B: '#tfc:chisels', - C: 'tfc:mortar' - }).id('tfg:shaped/travertine_support')) + // REDO w/ table and loop + const EXO_STONE_SUPPORTS = [ + { loose: 'tfg:loose/deepslate', support: 'tfg:migmatite_support' }, + { loose: 'tfg:loose/blackstone', support: 'tfg:pyroxenite_support' }, + { loose: 'tfg:loose/dripstone', support: 'tfg:travertine_support' }, + { loose: 'tfg:loose/crackrack', support: 'tfg:keratophyre_support' }, + { loose: 'tfg:loose/moon_stone', support: 'tfg:anorthosite_support' }, + { loose: 'tfg:loose/moon_deepslate', support: 'tfg:norite_support' }, + { loose: 'tfg:loose/mars_stone', support: 'tfg:argillite_support' }, + { loose: 'tfg:loose/venus_stone', support: 'tfg:trachyte_support' }, + { loose: 'tfg:loose/mercury_stone', support: 'tfg:komatiite_support' }, + { loose: 'tfg:loose/glacio_stone', support: 'tfg:phonolite_support' }, + { loose: 'tfg:loose/permafrost', support: 'tfg:permafrost_support' }, + { loose: 'tfg:loose/red_granite', support: 'tfg:red_granite_support' }, + { loose: 'gtceu:stone_ingot', support: 'tfg:stone_support' } + ] - event.recipes.gtceu.assembler('tfg:gtceu/assembler/travertine_support') - .circuit(11) - .inputFluids(Fluid.of('gtceu:concrete', 36)) - .itemOutputs('8x tfg:travertine_support') - .itemInputs('3x tfg:loose/dripstone') - .duration(40) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('8x tfg:migmatite_support', [ - 'AB ', - 'AC ', - 'AC ' - ],{ - A: 'tfg:loose/deepslate', - B: '#tfc:chisels', - C: 'tfc:mortar' - }).id('tfg:shaped/migmatite_support')) + EXO_STONE_SUPPORTS.forEach(s => { + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped(`8x ${s.support}`, [ + 'AB ', + 'AC ', + 'AC ' + ],{ + A: s.loose, + B: '#tfc:chisels', + C: 'tfc:mortar' + }).id(`tfg:shaped/${s.support}`) + ) - event.recipes.gtceu.assembler('tfg:gtceu/assembler/migmatite_support') - .circuit(11) - .inputFluids(Fluid.of('gtceu:concrete', 36)) - .itemOutputs('8x tfg:migmatite_support') - .itemInputs('3x tfg:loose/deepslate') - .duration(40) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('8x tfg:pyroxenite_support', [ - 'AB ', - 'AC ', - 'AC ' - ],{ - A: 'beneath:blackstone_pebble', - B: '#tfc:chisels', - C: 'tfc:mortar' - }).id('tfg:shaped/pyroxenite_support')) - - event.recipes.gtceu.assembler('tfg:gtceu/assembler/pyroxenite_support') - .circuit(11) - .inputFluids(Fluid.of('gtceu:concrete', 36)) - .itemOutputs('8x tfg:pyroxenite_support') - .itemInputs('3x beneath:blackstone_pebble') - .duration(40) - .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.gtceu.assembler(`tfg:gtceu/assembler/${s.support}`) + .circuit(11) + .inputFluids(Fluid.of('gtceu:concrete', 36)) + .itemOutputs(`8x ${s.support}`) + .itemInputs(`3x ${s.loose}`) + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) + }) // Metal Supports event.shaped('8x tfg:rebar_support', [ diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 9b42dac5e..4034061b9 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -665,7 +665,6 @@ const registerTFGItemTags = (event) => { event.add('forge:stone_bricks', 'gtceu:red_granite_bricks') event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:red_granite_bricks') event.add('tfc:rock/bricks', 'gtceu:red_granite_bricks') - event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_bricks') event.add('forge:stone_bricks', 'gtceu:mossy_red_granite_bricks') event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:mossy_red_granite_bricks') @@ -681,43 +680,36 @@ const registerTFGItemTags = (event) => { event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:red_granite_tile') event.add('tfc:rock/bricks', 'gtceu:red_granite_tile') event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_tile') - event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_tile') event.add('forge:stone_bricks', 'gtceu:square_red_granite_bricks') event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:square_red_granite_bricks') event.add('tfc:rock/bricks', 'gtceu:square_red_granite_bricks') event.add('tfc:rock/chiseled_bricks', 'gtceu:square_red_granite_bricks') - event.add('tfg:red_granite_cutter_set', 'gtceu:square_red_granite_bricks') event.add('forge:stone_bricks', 'gtceu:red_granite_windmill_a') event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:red_granite_windmill_a') event.add('tfc:rock/bricks', 'gtceu:red_granite_windmill_a') event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_windmill_a') - event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_windmill_a') event.add('forge:stone_bricks', 'gtceu:red_granite_windmill_b') event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:red_granite_windmill_b') event.add('tfc:rock/bricks', 'gtceu:red_granite_windmill_b') event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_windmill_b') - event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_windmill_b') event.add('forge:stone_bricks', 'gtceu:small_red_granite_bricks') event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:small_red_granite_bricks') event.add('tfc:rock/bricks', 'gtceu:small_red_granite_bricks') event.add('tfc:rock/chiseled_bricks', 'gtceu:small_red_granite_bricks') - event.add('tfg:red_granite_cutter_set', 'gtceu:small_red_granite_bricks') event.add('forge:stone_bricks', 'gtceu:red_granite_small_tile') event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:red_granite_small_tile') event.add('tfc:rock/bricks', 'gtceu:red_granite_small_tile') event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_small_tile') - event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_small_tile') event.add('forge:stone_bricks', 'gtceu:chiseled_red_granite') event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:chiseled_red_granite') event.add('tfc:rock/bricks', 'gtceu:chiseled_red_granite') event.add('tfc:rock/chiseled_bricks', 'gtceu:chiseled_red_granite') - event.add('tfg:red_granite_cutter_set', 'gtceu:chiseled_red_granite') // Permafrost (???) [NA] event.remove('tfc:metamorphic_rock', 'tfg:loose/permafrost') diff --git a/kubejs/startup_scripts/tfg/blocks.aqueducts.js b/kubejs/startup_scripts/tfg/blocks.aqueducts.js new file mode 100644 index 000000000..ce661e143 --- /dev/null +++ b/kubejs/startup_scripts/tfg/blocks.aqueducts.js @@ -0,0 +1,86 @@ +function registerTFGAqueductBlocks(event) { + + // Nether + event.create('tfg:rock/aqueduct_deepslate', 'tfc:aqueduct') + .soundType(global.STONE_CHARACS.deepslate.sound) + .textureAll('minecraft:block/deepslate_bricks') + .mapColor(global.STONE_CHARACS.deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .tagBoth('tfg:rock/aqueducts') + + event.create('tfg:rock/aqueduct_dripstone', 'tfc:aqueduct') + .soundType(global.STONE_CHARACS.dripstone.sound) + .textureAll('create:block/palettes/stone_types/brick/dripstone_cut_brick') + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .tagBoth('tfg:rock/aqueducts') + + event.create('tfg:rock/aqueduct_nether', 'tfc:aqueduct') + .soundType(global.STONE_CHARACS.nether.sound) + .textureAll('minecraft:block/nether_bricks') + .mapColor(global.STONE_CHARACS.nether.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) + .tagBoth('tfg:rock/aqueducts') + + event.create('tfg:rock/aqueduct_moon_stone', 'tfc:aqueduct') + .soundType(global.STONE_CHARACS.moon.sound) + .textureAll('ad_astra:block/moon_stone_bricks') + .mapColor(global.STONE_CHARACS.moon.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) + .tagBoth('tfg:rock/aqueducts') + + event.create('tfg:rock/aqueduct_moon_deepslate', 'tfc:aqueduct') + .soundType(global.STONE_CHARACS.moon_deepslate.sound) + .textureAll('tfg:block/rock/bricks_moon_deepslate') + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .tagBoth('tfg:rock/aqueducts') + + event.create('tfg:rock/aqueduct_mars_stone', 'tfc:aqueduct') + .soundType(global.STONE_CHARACS.mars.sound) + .textureAll('ad_astra:block/mars_stone_bricks') + .mapColor(global.STONE_CHARACS.mars.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) + .tagBoth('tfg:rock/aqueducts') + + event.create('tfg:rock/aqueduct_venus_stone', 'tfc:aqueduct') + .soundType(global.STONE_CHARACS.venus.sound) + .textureAll('ad_astra:block/venus_stone_bricks') + .mapColor(global.STONE_CHARACS.venus.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) + .tagBoth('tfg:rock/aqueducts') + + event.create('tfg:rock/aqueduct_mercury_stone', 'tfc:aqueduct') + .soundType(global.STONE_CHARACS.mercury.sound) + .textureAll('ad_astra:block/mercury_stone_bricks') + .mapColor(global.STONE_CHARACS.mercury.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) + .tagBoth('tfg:rock/aqueducts') + + event.create('tfg:rock/aqueduct_glacio_stone', 'tfc:aqueduct') + .soundType(global.STONE_CHARACS.glacio.sound) + .textureAll('ad_astra:block/glacio_stone_bricks') + .mapColor(global.STONE_CHARACS.glacio.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) + .tagBoth('tfg:rock/aqueducts') + + event.create('tfg:rock/aqueduct_permafrost', 'tfc:aqueduct') + .soundType(global.STONE_CHARACS.permafrost.sound) + .textureAll('ad_astra:block/permafrost_bricks') + .mapColor(global.STONE_CHARACS.permafrost.mapColor) + .tagBoth('tfg:rock/aqueducts') + + event.create('tfg:rock/aqueduct_red_granite', 'tfc:aqueduct') + .soundType(global.STONE_CHARACS.red_granite.sound) + .textureAll('gtceu:block/stones/red_granite/bricks') + .mapColor(global.STONE_CHARACS.red_granite.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) + .tagBoth('tfg:rock/aqueducts') + + event.create('tfg:rock/aqueduct_stone', 'tfc:aqueduct') + .soundType(global.STONE_CHARACS.reconstituted.sound) + .textureAll('minecraft:block/stone_bricks') + .mapColor(global.STONE_CHARACS.reconstituted.mapColor) + .tagBoth('tfg:rock/aqueducts') + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index 76770d875..89527f2b4 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -5,6 +5,7 @@ const registerTFGBlocks = (event) => { registerTFGNetherBlocks(event) registerTFGSpaceBlocks(event) registerTFGSupportBlocks(event) + registerTFGAqueductBlocks(event) registerTFGCrops(event) event.create('tfg:dry_ice', 'tfg:particle_emitter') @@ -255,12 +256,13 @@ const registerTFGBlocks = (event) => { // #endregion - // #region Reconstructed Stone + // #region Reconstituted Stone + event.create(`tfg:rock/stone_wall`, 'wall') - .soundType('stone') + .soundType(global.STONE_CHARACS.reconstituted.sound) .textureAll('minecraft:block/stone') .tagBoth('tfg:rock_wall') - .mapColor('stone') + .mapColor(global.STONE_CHARACS.reconstituted.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -268,10 +270,10 @@ const registerTFGBlocks = (event) => { let SHAPES = ['stairs', 'wall'] SHAPES.forEach(shape => { event.create(`tfg:rock/smooth_stone_${shape}`, shape) - .soundType('stone') + .soundType(global.STONE_CHARACS.reconstituted.sound) .textureAll('minecraft:block/smooth_stone') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .mapColor('stone') + .mapColor(global.STONE_CHARACS.reconstituted.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -280,14 +282,26 @@ const registerTFGBlocks = (event) => { SHAPES = ['stairs', 'slab', 'wall'] SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_stone_${shape}`, shape) - .soundType('stone') + .soundType(global.STONE_CHARACS.reconstituted.sound) .textureAll('minecraft:block/cracked_stone_bricks') .tagBoth(`tfg:brick_${shape}s`.replace(/ss/g, 's')) - .mapColor('stone') + .mapColor(global.STONE_CHARACS.reconstituted.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) - // #endregion Reconstructed Stone + // #endregion Reconstituted Stone + + // #region Deprecated + + event.create('treetap:tap') + .requiresTool(false) + .textureAll('tfg:item/deprecated') + + event.create('tfcea:refrigerator') + .requiresTool(false) + .textureAll('tfg:item/deprecated') + + // #endregion } diff --git a/kubejs/startup_scripts/tfg/blocks.nether.js b/kubejs/startup_scripts/tfg/blocks.nether.js index 27258c178..c5fd2c975 100644 --- a/kubejs/startup_scripts/tfg/blocks.nether.js +++ b/kubejs/startup_scripts/tfg/blocks.nether.js @@ -3,22 +3,14 @@ function registerTFGNetherBlocks(event) { const SHAPES = ['stairs', 'slab', 'wall'] - const STONE_CHARACS = { - deepslate: { sound: 'deepslate', type: "metamorphic", mapColor: 'terracotta_grey' }, - blackstone: { sound: 'deepslate', type: "igneous_intrusive", mapColor: 'color_black' }, - dripstone: { sound: 'dripstone_block', type: "sedimentary", mapColor: 'terracotta' }, - crackrack: { sound: 'netherrack', type: "igneous_intrusive", mapColor: 'crimson_stem' }, - nether: { sound: 'nether_bricks', type: "igneous_intrusive", mapColor: 'nether' } - } - // #region Raw Stones SHAPES.forEach(shape => { event.create(`tfg:rock/deepslate_${shape}`, shape) - .soundType(STONE_CHARACS.deepslate.sound) + .soundType(global.STONE_CHARACS.deepslate.sound) .textureAll('minecraft:block/deepslate') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) - .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -26,11 +18,11 @@ function registerTFGNetherBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/dripstone_${shape}`, shape) - .soundType(STONE_CHARACS.dripstone.sound) + .soundType(global.STONE_CHARACS.dripstone.sound) .textureAll('minecraft:block/dripstone_block') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) - .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -38,11 +30,11 @@ function registerTFGNetherBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/crackrack_${shape}`, shape) - .soundType(STONE_CHARACS.crackrack.sound) + .soundType(global.STONE_CHARACS.crackrack.sound) .textureAll('beneath:block/crackrack') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) - .mapColor(STONE_CHARACS.crackrack.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -52,7 +44,7 @@ function registerTFGNetherBlocks(event) { // #region Hardened Stones event.create('tfg:rock/hardened_deepslate') - .soundType(STONE_CHARACS.deepslate.sound) + .soundType(global.STONE_CHARACS.deepslate.sound) .property(BlockProperties.AXIS) .requiresTool(true) .item(item => { @@ -61,14 +53,14 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) - .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_blackstone') - .soundType(STONE_CHARACS.blackstone.sound) + .soundType(global.STONE_CHARACS.blackstone.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'minecraft:item/blackstone' }) @@ -76,14 +68,14 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) - .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_dripstone') - .soundType(STONE_CHARACS.dripstone.sound) + .soundType(global.STONE_CHARACS.dripstone.sound) .stoneSoundType() .requiresTool(true) .item(item => { @@ -92,8 +84,8 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) - .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -103,8 +95,8 @@ function registerTFGNetherBlocks(event) { // #region Spikes event.create('tfg:spike/deepslate_spike', 'tfc:rock_spike') .textureAll('minecraft:block/deepslate') - .soundType(STONE_CHARACS.deepslate.sound) - .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) + .soundType(global.STONE_CHARACS.deepslate.sound) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) @@ -112,8 +104,8 @@ function registerTFGNetherBlocks(event) { event.create('tfg:spike/blackstone_spike', 'tfc:rock_spike') .textureAll('minecraft:block/blackstone') - .soundType(STONE_CHARACS.blackstone.sound) - .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) + .soundType(global.STONE_CHARACS.blackstone.sound) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) @@ -121,8 +113,8 @@ function registerTFGNetherBlocks(event) { event.create('tfg:spike/dripstone_spike', 'tfc:rock_spike') .textureAll('minecraft:block/dripstone_block') - .soundType(STONE_CHARACS.dripstone.sound) - .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .soundType(global.STONE_CHARACS.dripstone.sound) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) @@ -132,39 +124,39 @@ function registerTFGNetherBlocks(event) { // #region Loose Stones event.create('tfg:loose/deepslate', 'tfc:loose_rock') - .soundType(STONE_CHARACS.deepslate.sound) + .soundType(global.STONE_CHARACS.deepslate.sound) .itemTexture('tfg:item/loose/deepslate') - .rockTypeModel(STONE_CHARACS.deepslate.type) + .rockTypeModel(global.STONE_CHARACS.deepslate.type) .translationKey("block.tfg.loose.deepslate") .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${STONE_CHARACS.deepslate.type}_rock`) - .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) + .tagItem(`tfc:${global.STONE_CHARACS.deepslate.type}_rock`) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/dripstone', 'tfc:loose_rock') - .soundType(STONE_CHARACS.dripstone.sound) + .soundType(global.STONE_CHARACS.dripstone.sound) .itemTexture('tfg:item/loose/dripstone') - .rockTypeModel(STONE_CHARACS.dripstone.type) + .rockTypeModel(global.STONE_CHARACS.dripstone.type) .translationKey("block.tfg.loose.dripstone") .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${STONE_CHARACS.dripstone.type}_rock`) - .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .tagItem(`tfc:${global.STONE_CHARACS.dripstone.type}_rock`) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/crackrack', 'tfc:loose_rock') - .soundType(STONE_CHARACS.crackrack.sound) + .soundType(global.STONE_CHARACS.crackrack.sound) .itemTexture('tfg:item/loose/crackrack') - .rockTypeModel(STONE_CHARACS.crackrack.type) + .rockTypeModel(global.STONE_CHARACS.crackrack.type) .translationKey("block.tfg.loose.crackrack") .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${STONE_CHARACS.crackrack.type}_rock`) - .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) + .tagItem(`tfc:${global.STONE_CHARACS.crackrack.type}_rock`) + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) .tagItem("rnr:loose_rock_items") // #endregion Loose rocks @@ -173,11 +165,11 @@ function registerTFGNetherBlocks(event) { // Deepslate event.create('tfg:rock/mossy_cobble_deepslate') - .soundType(STONE_CHARACS.deepslate.sound) + .soundType(global.STONE_CHARACS.deepslate.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) - .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -185,10 +177,10 @@ function registerTFGNetherBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_deepslate_${shape}`, shape) - .soundType(STONE_CHARACS.deepslate.sound) + .soundType(global.STONE_CHARACS.deepslate.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) - .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -196,11 +188,11 @@ function registerTFGNetherBlocks(event) { // Blackstone event.create('tfg:rock/cobble_blackstone') - .soundType(STONE_CHARACS.blackstone.sound) + .soundType(global.STONE_CHARACS.blackstone.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) - .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -208,22 +200,22 @@ function registerTFGNetherBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/cobble_blackstone_${shape}`, shape) - .soundType(STONE_CHARACS.blackstone.sound) + .soundType(global.STONE_CHARACS.blackstone.sound) .textureAll('minecraft:block/blackstone_top') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) - .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_cobble_blackstone') - .soundType(STONE_CHARACS.blackstone.sound) + .soundType(global.STONE_CHARACS.blackstone.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) - .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -231,10 +223,10 @@ function registerTFGNetherBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_blackstone_${shape}`, shape) - .soundType(STONE_CHARACS.blackstone.sound) + .soundType(global.STONE_CHARACS.blackstone.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) - .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -242,11 +234,11 @@ function registerTFGNetherBlocks(event) { // Dripstone event.create('tfg:rock/cobble_dripstone') - .soundType(STONE_CHARACS.dripstone.sound) + .soundType(global.STONE_CHARACS.dripstone.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) - .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -254,21 +246,21 @@ function registerTFGNetherBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/cobble_dripstone_${shape}`, shape) - .soundType(STONE_CHARACS.dripstone.sound) + .soundType(global.STONE_CHARACS.dripstone.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) - .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_cobble_dripstone') - .soundType(STONE_CHARACS.dripstone.sound) + .soundType(global.STONE_CHARACS.dripstone.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) - .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -276,10 +268,10 @@ function registerTFGNetherBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_dripstone_${shape}`, shape) - .soundType(STONE_CHARACS.dripstone.sound) + .soundType(global.STONE_CHARACS.dripstone.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) - .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -287,11 +279,11 @@ function registerTFGNetherBlocks(event) { // Crackrack event.create('tfg:rock/cobble_crackrack') - .soundType(STONE_CHARACS.crackrack.sound) + .soundType(global.STONE_CHARACS.crackrack.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) - .mapColor(STONE_CHARACS.crackrack.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -299,21 +291,21 @@ function registerTFGNetherBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/cobble_crackrack_${shape}`, shape) - .soundType(STONE_CHARACS.crackrack.sound) + .soundType(global.STONE_CHARACS.crackrack.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) - .mapColor(STONE_CHARACS.crackrack.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_cobble_crackrack') - .soundType(STONE_CHARACS.crackrack.sound) + .soundType(global.STONE_CHARACS.crackrack.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) - .mapColor(STONE_CHARACS.crackrack.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -321,10 +313,10 @@ function registerTFGNetherBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_crackrack_${shape}`, shape) - .soundType(STONE_CHARACS.crackrack.sound) + .soundType(global.STONE_CHARACS.crackrack.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) - .mapColor(STONE_CHARACS.crackrack.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -333,7 +325,7 @@ function registerTFGNetherBlocks(event) { // #region Smooth (Polished/Cut) Stones event.create('tfg:rock/polished_crackrack') - .soundType(STONE_CHARACS.crackrack.sound) + .soundType(global.STONE_CHARACS.crackrack.sound) .tagBoth('forge:smooth_stone') .tagBoth('tfc:igneous_intrusive_items') .tagBoth('tfc:rock/smooth') @@ -344,10 +336,10 @@ function registerTFGNetherBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/polished_crackrack_${shape}`, shape) - .soundType(STONE_CHARACS.crackrack.sound) + .soundType(global.STONE_CHARACS.crackrack.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) - .mapColor(STONE_CHARACS.crackrack.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -360,8 +352,8 @@ function registerTFGNetherBlocks(event) { .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) - .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -371,8 +363,8 @@ function registerTFGNetherBlocks(event) { .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) - .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -382,8 +374,8 @@ function registerTFGNetherBlocks(event) { .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) - .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -393,8 +385,8 @@ function registerTFGNetherBlocks(event) { .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) - .mapColor(STONE_CHARACS.crackrack.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -407,11 +399,11 @@ function registerTFGNetherBlocks(event) { // Deepslate SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_deepslate_${shape}`, shape) - .soundType(STONE_CHARACS.deepslate.sound) + .soundType(global.STONE_CHARACS.deepslate.sound) .textureAll('minecraft:block/cracked_deepslate_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) - .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -419,34 +411,34 @@ function registerTFGNetherBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_tiles_deepslate_${shape}`, shape) - .soundType(STONE_CHARACS.deepslate.sound) + .soundType(global.STONE_CHARACS.deepslate.sound) .textureAll('minecraft:block/cracked_deepslate_tiles') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) - .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_deepslate') - .soundType(STONE_CHARACS.deepslate.sound) + .soundType(global.STONE_CHARACS.deepslate.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) - .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_deepslate_${shape}`, shape) - .soundType(STONE_CHARACS.deepslate.sound) + .soundType(global.STONE_CHARACS.deepslate.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) - .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -455,34 +447,34 @@ function registerTFGNetherBlocks(event) { // Blackstone SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_blackstone_${shape}`, shape) - .soundType(STONE_CHARACS.blackstone.sound) + .soundType(global.STONE_CHARACS.blackstone.sound) .textureAll('minecraft:block/cracked_polished_blackstone_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) - .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_blackstone') - .soundType(STONE_CHARACS.blackstone.sound) + .soundType(global.STONE_CHARACS.blackstone.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) - .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_blackstone_${shape}`, shape) - .soundType(STONE_CHARACS.blackstone.sound) + .soundType(global.STONE_CHARACS.blackstone.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) - .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -490,46 +482,46 @@ function registerTFGNetherBlocks(event) { // Dripstone event.create('tfg:rock/cracked_bricks_dripstone') - .soundType(STONE_CHARACS.dripstone.sound) + .soundType(global.STONE_CHARACS.dripstone.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) - .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_dripstone_${shape}`, shape) - .soundType(STONE_CHARACS.dripstone.sound) + .soundType(global.STONE_CHARACS.dripstone.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) - .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_dripstone') - .soundType(STONE_CHARACS.dripstone.sound) + .soundType(global.STONE_CHARACS.dripstone.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) - .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_dripstone_${shape}`, shape) - .soundType(STONE_CHARACS.dripstone.sound) + .soundType(global.STONE_CHARACS.dripstone.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) - .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -538,34 +530,34 @@ function registerTFGNetherBlocks(event) { // Crackrack SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_nether_${shape}`, shape) - .soundType(STONE_CHARACS.nether.sound) + .soundType(global.STONE_CHARACS.nether.sound) .textureAll('minecraft:block/cracked_nether_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.nether.type}_items`) - .mapColor(STONE_CHARACS.nether.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) + .mapColor(global.STONE_CHARACS.nether.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_nether') - .soundType(STONE_CHARACS.nether.sound) + .soundType(global.STONE_CHARACS.nether.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${STONE_CHARACS.nether.type}_items`) - .mapColor(STONE_CHARACS.nether.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) + .mapColor(global.STONE_CHARACS.nether.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_nether_${shape}`, shape) - .soundType(STONE_CHARACS.nether.sound) + .soundType(global.STONE_CHARACS.nether.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.nether.type}_items`) - .mapColor(STONE_CHARACS.nether.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) + .mapColor(global.STONE_CHARACS.nether.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) diff --git a/kubejs/startup_scripts/tfg/blocks.space.js b/kubejs/startup_scripts/tfg/blocks.space.js index 7ca737a60..037e0ffb3 100644 --- a/kubejs/startup_scripts/tfg/blocks.space.js +++ b/kubejs/startup_scripts/tfg/blocks.space.js @@ -42,89 +42,78 @@ function registerTFGSpaceBlocks(event) { // #endregion Dimension markers const SHAPES = ['stairs', 'slab', 'wall'] - - const STONE_CHARACS = { - moon: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_cyan' }, - moon_deepslate: { sound: 'deepslate', type: "igneous_intrusive", mapColor: 'terracotta_blue' }, - mars: { sound: 'stone', type: "sedimentary", mapColor: 'terracotta_orange' }, - venus: { sound: 'stone', type: "igneous_extrusive", mapColor: 'terracotta_yellow' }, - mercury: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_purple' }, - glacio: { sound: 'stone', type: "igneous_extrusive", mapColor: 'terracotta_light_blue' }, - permafrost: { sound: 'stone', type: null, mapColor: 'snow' }, - red_granite: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_red' } - } - + const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] // #region Raw Stones event.create('tfg:rock/moon_stone_wall', 'wall') - .soundType(STONE_CHARACS.moon.sound) + .soundType(global.STONE_CHARACS.moon.sound) .textureAll('ad_astra:block/moon_stone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) - .mapColor(STONE_CHARACS.moon.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) + .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/moon_deepslate_${shape}`, shape) - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .textureAll('ad_astra:block/moon_deepslate') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mars_stone_wall', 'wall') - .soundType(STONE_CHARACS.mars.sound) + .soundType(global.STONE_CHARACS.mars.sound) .textureAll('ad_astra:block/mars_stone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) - .mapColor(STONE_CHARACS.mars.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) + .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/venus_stone_wall', 'wall') - .soundType(STONE_CHARACS.venus.sound) + .soundType(global.STONE_CHARACS.venus.sound) .textureAll('ad_astra:block/venus_stone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) - .mapColor(STONE_CHARACS.venus.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) + .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/mercury_stone_wall', 'wall') - .soundType(STONE_CHARACS.mercury.sound) + .soundType(global.STONE_CHARACS.mercury.sound) .textureAll('ad_astra:block/mercury_stone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) - .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) + .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/glacio_stone_wall', 'wall') - .soundType(STONE_CHARACS.glacio.sound) + .soundType(global.STONE_CHARACS.glacio.sound) .textureAll('ad_astra:block/glacio_stone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) - .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) + .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/permafrost_${shape}`, shape) - .soundType(STONE_CHARACS.permafrost.sound) + .soundType(global.STONE_CHARACS.permafrost.sound) .textureAll('ad_astra:block/permafrost') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .mapColor(STONE_CHARACS.permafrost.mapColor) + .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -132,11 +121,11 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/red_granite_${shape}`, shape) - .soundType(STONE_CHARACS.red_granite.sound) + .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/stone') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) - .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) + .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -146,7 +135,7 @@ function registerTFGSpaceBlocks(event) { // #region Hardened Stones event.create('tfg:rock/hardened_moon_stone') - .soundType(STONE_CHARACS.moon.sound) + .soundType(global.STONE_CHARACS.moon.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/moon_stone' }) @@ -154,14 +143,14 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) - .mapColor(STONE_CHARACS.moon.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) + .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_moon_deepslate') - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/moon_deepslate' }) @@ -169,14 +158,14 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_mars_stone') - .soundType(STONE_CHARACS.mars.sound) + .soundType(global.STONE_CHARACS.mars.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/mars_stone' }) @@ -184,14 +173,14 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) - .mapColor(STONE_CHARACS.mars.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) + .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_venus_stone') - .soundType(STONE_CHARACS.venus.sound) + .soundType(global.STONE_CHARACS.venus.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/venus_stone' }) @@ -199,14 +188,14 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) - .mapColor(STONE_CHARACS.venus.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) + .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_mercury_stone') - .soundType(STONE_CHARACS.mercury.sound) + .soundType(global.STONE_CHARACS.mercury.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/mercury_stone' }) @@ -214,14 +203,14 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) - .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) + .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_glacio_stone') - .soundType(STONE_CHARACS.glacio.sound) + .soundType(global.STONE_CHARACS.glacio.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/glacio_stone' }) @@ -229,14 +218,14 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) - .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) + .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_red_granite') - .soundType(STONE_CHARACS.red_granite.sound) + .soundType(global.STONE_CHARACS.red_granite.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'gtceu:item/red_granite' }) @@ -244,8 +233,8 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) - .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) + .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -254,89 +243,89 @@ function registerTFGSpaceBlocks(event) { // #region Loose Stones event.create('tfg:loose/moon_stone', 'tfc:loose_rock') - .soundType(STONE_CHARACS.moon.sound) + .soundType(global.STONE_CHARACS.moon.sound) .itemTexture('tfg:item/loose/moon_stone') - .rockTypeModel(STONE_CHARACS.moon.type) + .rockTypeModel(global.STONE_CHARACS.moon.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${STONE_CHARACS.moon.type}_rock`) - .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) + .tagItem(`tfc:${global.STONE_CHARACS.moon.type}_rock`) + .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/moon_deepslate', 'tfc:loose_rock') - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .itemTexture('tfg:item/loose/moon_deepslate') - .rockTypeModel(STONE_CHARACS.moon_deepslate.type) + .rockTypeModel(global.STONE_CHARACS.moon_deepslate.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${STONE_CHARACS.moon_deepslate.type}_rock`) - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .tagItem(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_rock`) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/mars_stone', 'tfc:loose_rock') - .soundType(STONE_CHARACS.mars.sound) + .soundType(global.STONE_CHARACS.mars.sound) .itemTexture('tfg:item/loose/mars_stone') - .rockTypeModel(STONE_CHARACS.mars.type) + .rockTypeModel(global.STONE_CHARACS.mars.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${STONE_CHARACS.mars.type}_rock`) - .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) + .tagItem(`tfc:${global.STONE_CHARACS.mars.type}_rock`) + .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/venus_stone', 'tfc:loose_rock') - .soundType(STONE_CHARACS.venus.sound) + .soundType(global.STONE_CHARACS.venus.sound) .itemTexture('tfg:item/loose/venus_stone') - .rockTypeModel(STONE_CHARACS.venus.type) + .rockTypeModel(global.STONE_CHARACS.venus.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${STONE_CHARACS.venus.type}_rock`) - .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) + .tagItem(`tfc:${global.STONE_CHARACS.venus.type}_rock`) + .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/mercury_stone', 'tfc:loose_rock') - .soundType(STONE_CHARACS.mercury.sound) + .soundType(global.STONE_CHARACS.mercury.sound) .itemTexture('tfg:item/loose/mercury_stone') - .rockTypeModel(STONE_CHARACS.mercury.type) + .rockTypeModel(global.STONE_CHARACS.mercury.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${STONE_CHARACS.mercury.type}_rock`) - .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) + .tagItem(`tfc:${global.STONE_CHARACS.mercury.type}_rock`) + .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/glacio_stone', 'tfc:loose_rock') - .soundType(STONE_CHARACS.glacio.sound) + .soundType(global.STONE_CHARACS.glacio.sound) .itemTexture('tfg:item/loose/glacio_stone') - .rockTypeModel(STONE_CHARACS.glacio.type) + .rockTypeModel(global.STONE_CHARACS.glacio.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${STONE_CHARACS.glacio.type}_rock`) - .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) + .tagItem(`tfc:${global.STONE_CHARACS.glacio.type}_rock`) + .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/permafrost', 'tfc:loose_rock') - .soundType(STONE_CHARACS.permafrost.sound) + .soundType(global.STONE_CHARACS.permafrost.sound) .itemTexture('tfg:item/loose/permafrost') - .rockTypeModel(STONE_CHARACS.permafrost.type) + .rockTypeModel(global.STONE_CHARACS.permafrost.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') .tagItem("rnr:loose_rock_items") event.create('tfg:loose/red_granite', 'tfc:loose_rock') - .soundType(STONE_CHARACS.red_granite.sound) + .soundType(global.STONE_CHARACS.red_granite.sound) .itemTexture('tfg:item/loose/red_granite') - .rockTypeModel(STONE_CHARACS.red_granite.type) + .rockTypeModel(global.STONE_CHARACS.red_granite.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${STONE_CHARACS.red_granite.type}_rock`) - .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) + .tagItem(`tfc:${global.STONE_CHARACS.red_granite.type}_rock`) + .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) .tagItem("rnr:loose_rock_items") // #endregion Loose stones @@ -344,7 +333,7 @@ function registerTFGSpaceBlocks(event) { // #region Spikes event.create('tfg:spike/moon_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/moon_stone') - .soundType(STONE_CHARACS.moon.sound) + .soundType(global.STONE_CHARACS.moon.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) @@ -352,7 +341,7 @@ function registerTFGSpaceBlocks(event) { event.create('tfg:spike/moon_deepslate_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/moon_deepslate') - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) @@ -360,7 +349,7 @@ function registerTFGSpaceBlocks(event) { event.create('tfg:spike/mars_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/mars_stone') - .soundType(STONE_CHARACS.mars.sound) + .soundType(global.STONE_CHARACS.mars.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) @@ -368,7 +357,7 @@ function registerTFGSpaceBlocks(event) { event.create('tfg:spike/venus_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/venus_stone') - .soundType(STONE_CHARACS.venus.sound) + .soundType(global.STONE_CHARACS.venus.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) @@ -376,7 +365,7 @@ function registerTFGSpaceBlocks(event) { event.create('tfg:spike/mercury_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/mercury_stone') - .soundType(STONE_CHARACS.mercury.sound) + .soundType(global.STONE_CHARACS.mercury.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) @@ -384,7 +373,7 @@ function registerTFGSpaceBlocks(event) { event.create('tfg:spike/glacio_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/glacio_stone') - .soundType(STONE_CHARACS.glacio.sound) + .soundType(global.STONE_CHARACS.glacio.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) @@ -392,7 +381,7 @@ function registerTFGSpaceBlocks(event) { event.create('tfg:spike/permafrost_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/permafrost') - .soundType(STONE_CHARACS.permafrost.sound) + .soundType(global.STONE_CHARACS.permafrost.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) @@ -400,7 +389,7 @@ function registerTFGSpaceBlocks(event) { event.create('tfg:spike/red_granite_spike', 'tfc:rock_spike') .textureAll('gtceu:block/stones/red_granite/stone') - .soundType(STONE_CHARACS.red_granite.sound) + .soundType(global.STONE_CHARACS.red_granite.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) @@ -411,21 +400,21 @@ function registerTFGSpaceBlocks(event) { // #region Cobblestones // Moon event.create('tfg:rock/cobble_moon_wall', 'wall') - .soundType(STONE_CHARACS.moon.sound) + .soundType(global.STONE_CHARACS.moon.sound) .textureAll('ad_astra:block/moon_cobblestone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) - .mapColor(STONE_CHARACS.moon.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) + .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/mossy_cobble_moon') - .soundType(STONE_CHARACS.moon.sound) + .soundType(global.STONE_CHARACS.moon.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) - .mapColor(STONE_CHARACS.moon.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) + .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -433,10 +422,10 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_moon_${shape}`, shape) - .soundType(STONE_CHARACS.moon.sound) + .soundType(global.STONE_CHARACS.moon.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) - .mapColor(STONE_CHARACS.moon.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) + .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -444,11 +433,11 @@ function registerTFGSpaceBlocks(event) { // Moon Deepslate event.create('tfg:rock/cobble_moon_deepslate') - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -456,21 +445,21 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/cobble_moon_deepslate_${shape}`, shape) - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_cobble_moon_deepslate') - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -478,10 +467,10 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_moon_deepslate_${shape}`, shape) - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -489,21 +478,21 @@ function registerTFGSpaceBlocks(event) { // Mars event.create('tfg:rock/cobble_mars_wall', 'wall') - .soundType(STONE_CHARACS.mars.sound) + .soundType(global.STONE_CHARACS.mars.sound) .textureAll('ad_astra:block/mars_cobblestone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) - .mapColor(STONE_CHARACS.mars.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) + .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/mossy_cobble_mars') - .soundType(STONE_CHARACS.mars.sound) + .soundType(global.STONE_CHARACS.mars.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) - .mapColor(STONE_CHARACS.mars.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) + .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -511,10 +500,10 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_mars_${shape}`, shape) - .soundType(STONE_CHARACS.mars.sound) + .soundType(global.STONE_CHARACS.mars.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) - .mapColor(STONE_CHARACS.mars.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) + .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -522,21 +511,21 @@ function registerTFGSpaceBlocks(event) { // Venus event.create('tfg:rock/cobble_venus_wall', 'wall') - .soundType(STONE_CHARACS.venus.sound) + .soundType(global.STONE_CHARACS.venus.sound) .textureAll('ad_astra:block/venus_cobblestone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) - .mapColor(STONE_CHARACS.venus.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) + .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/mossy_cobble_venus') - .soundType(STONE_CHARACS.venus.sound) + .soundType(global.STONE_CHARACS.venus.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) - .mapColor(STONE_CHARACS.venus.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) + .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -544,10 +533,10 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_venus_${shape}`, shape) - .soundType(STONE_CHARACS.venus.sound) + .soundType(global.STONE_CHARACS.venus.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) - .mapColor(STONE_CHARACS.venus.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) + .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -555,21 +544,21 @@ function registerTFGSpaceBlocks(event) { // Mercury event.create('tfg:rock/cobble_mercury_wall', 'wall') - .soundType(STONE_CHARACS.mercury.sound) + .soundType(global.STONE_CHARACS.mercury.sound) .textureAll('ad_astra:block/mercury_cobblestone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) - .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) + .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/mossy_cobble_mercury') - .soundType(STONE_CHARACS.mercury.sound) + .soundType(global.STONE_CHARACS.mercury.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) - .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) + .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -577,10 +566,10 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_mercury_${shape}`, shape) - .soundType(STONE_CHARACS.mercury.sound) + .soundType(global.STONE_CHARACS.mercury.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) - .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) + .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -588,21 +577,21 @@ function registerTFGSpaceBlocks(event) { // Glacio event.create('tfg:rock/cobble_glacio_wall', 'wall') - .soundType(STONE_CHARACS.glacio.sound) + .soundType(global.STONE_CHARACS.glacio.sound) .textureAll('ad_astra:block/glacio_cobblestone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) - .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) + .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/mossy_cobble_glacio') - .soundType(STONE_CHARACS.glacio.sound) + .soundType(global.STONE_CHARACS.glacio.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) - .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) + .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -610,10 +599,10 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_glacio_${shape}`, shape) - .soundType(STONE_CHARACS.glacio.sound) + .soundType(global.STONE_CHARACS.glacio.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) - .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) + .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -621,9 +610,9 @@ function registerTFGSpaceBlocks(event) { // Permafrost event.create('tfg:rock/cobble_permafrost') - .soundType(STONE_CHARACS.permafrost.sound) + .soundType(global.STONE_CHARACS.permafrost.sound) .tagBoth('forge:cobblestone') - .mapColor(STONE_CHARACS.permafrost.mapColor) + .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -632,18 +621,18 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/cobble_permafrost_${shape}`, shape) .textureAll('ad_astra:block/permafrost_top') - .soundType(STONE_CHARACS.permafrost.sound) + .soundType(global.STONE_CHARACS.permafrost.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .mapColor(STONE_CHARACS.permafrost.mapColor) + .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_cobble_permafrost') - .soundType(STONE_CHARACS.permafrost.sound) + .soundType(global.STONE_CHARACS.permafrost.sound) .tagBoth('forge:cobblestone') - .mapColor(STONE_CHARACS.permafrost.mapColor) + .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -651,9 +640,9 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_permafrost_${shape}`, shape) - .soundType(STONE_CHARACS.permafrost.sound) + .soundType(global.STONE_CHARACS.permafrost.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .mapColor(STONE_CHARACS.permafrost.mapColor) + .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -662,11 +651,11 @@ function registerTFGSpaceBlocks(event) { // Red Granite SHAPES.forEach(shape => { event.create(`tfg:rock/cobble_red_granite_${shape}`, shape) - .soundType(STONE_CHARACS.red_granite.sound) + .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/cobble') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) - .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) + .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -674,11 +663,11 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_red_granite_${shape}`, shape) - .soundType(STONE_CHARACS.red_granite.sound) + .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/cobble_mossy') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) - .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) + .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -691,8 +680,8 @@ function registerTFGSpaceBlocks(event) { .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) - .mapColor(STONE_CHARACS.moon.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) + .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -702,8 +691,8 @@ function registerTFGSpaceBlocks(event) { .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -713,8 +702,8 @@ function registerTFGSpaceBlocks(event) { .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) - .mapColor(STONE_CHARACS.mars.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) + .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -724,8 +713,8 @@ function registerTFGSpaceBlocks(event) { .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) - .mapColor(STONE_CHARACS.venus.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) + .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -735,8 +724,8 @@ function registerTFGSpaceBlocks(event) { .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) - .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) + .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -746,8 +735,8 @@ function registerTFGSpaceBlocks(event) { .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) - .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) + .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -757,7 +746,7 @@ function registerTFGSpaceBlocks(event) { .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') - .mapColor(STONE_CHARACS.permafrost.mapColor) + .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -767,8 +756,8 @@ function registerTFGSpaceBlocks(event) { .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) - .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) + .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -778,93 +767,93 @@ function registerTFGSpaceBlocks(event) { // #region Smooth (Polished/Cut) Stones event.create('tfg:rock/polished_moon_wall', 'wall') - .soundType(STONE_CHARACS.moon.sound) + .soundType(global.STONE_CHARACS.moon.sound) .textureAll('ad_astra:block/polished_moon_stone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) - .mapColor(STONE_CHARACS.moon.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) + .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/polished_moon_deepslate') - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('forge:smooth_stone') - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .tagBoth('tfc:rock/smooth') - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/polished_moon_deepslate_${shape}`, shape) - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/polished_mars_wall', 'wall') - .soundType(STONE_CHARACS.mars.sound) + .soundType(global.STONE_CHARACS.mars.sound) .textureAll('ad_astra:block/polished_mars_stone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) - .mapColor(STONE_CHARACS.mars.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) + .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/polished_venus_wall', 'wall') - .soundType(STONE_CHARACS.venus.sound) + .soundType(global.STONE_CHARACS.venus.sound) .textureAll('ad_astra:block/polished_venus_stone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) - .mapColor(STONE_CHARACS.venus.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) + .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/polished_mercury_wall', 'wall') - .soundType(STONE_CHARACS.mercury.sound) + .soundType(global.STONE_CHARACS.mercury.sound) .textureAll('ad_astra:block/polished_mercury_stone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) - .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) + .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/polished_glacio_wall', 'wall') - .soundType(STONE_CHARACS.glacio.sound) + .soundType(global.STONE_CHARACS.glacio.sound) .textureAll('ad_astra:block/polished_glacio_stone') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) - .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) + .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/polished_permafrost_wall', 'wall') - .soundType(STONE_CHARACS.permafrost.sound) + .soundType(global.STONE_CHARACS.permafrost.sound) .textureAll('ad_astra:block/polished_permafrost') .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${STONE_CHARACS.permafrost.type}_items`) - .mapColor(STONE_CHARACS.permafrost.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.permafrost.type}_items`) + .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/polished_red_granite_${shape}`, shape) - .soundType(STONE_CHARACS.red_granite.sound) + .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/polished') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) - .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) + .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -876,152 +865,147 @@ function registerTFGSpaceBlocks(event) { // Moon Stone SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_moon_${shape}`, shape) - .soundType(STONE_CHARACS.moon.sound) + .soundType(global.STONE_CHARACS.moon.sound) .textureAll('ad_astra:block/cracked_moon_stone_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) - .mapColor(STONE_CHARACS.moon.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) + .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_moon') - .soundType(STONE_CHARACS.moon.sound) + .soundType(global.STONE_CHARACS.moon.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) - .mapColor(STONE_CHARACS.moon.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) + .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_moon_${shape}`, shape) - .soundType(STONE_CHARACS.moon.sound) + .soundType(global.STONE_CHARACS.moon.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) - .mapColor(STONE_CHARACS.moon.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) + .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_moon_wall', 'wall') - .soundType(STONE_CHARACS.moon.sound) + .soundType(global.STONE_CHARACS.moon.sound) .textureAll('ad_astra:block/chiseled_moon_stone_bricks') .tagBoth('tfg:brick_walls') - .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) - .mapColor(STONE_CHARACS.moon.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) + .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) // Moon Deepslate event.create('tfg:rock/bricks_moon_deepslate') - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) - .tagBoth('tfg:moon_deepslate_cutter_set') + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/bricks_moon_deepslate_${shape}`, shape) - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/cracked_bricks_moon_deepslate') - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/cracked_bricks') - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) - .tagBoth('tfg:moon_deepslate_cutter_set') + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_moon_deepslate_${shape}`, shape) - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_moon_deepslate') - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) - .tagBoth('tfg:moon_deepslate_cutter_set') + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_moon_deepslate_${shape}`, shape) - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_moon_deepslate') - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/chiseled_bricks') - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) - .tagBoth('tfg:moon_deepslate_cutter_set') + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/chiseled_bricks_moon_deepslate_${shape}`, shape) - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/pillar_moon_deepslate') - .soundType(STONE_CHARACS.moon_deepslate.sound) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) .property(BlockProperties.AXIS) .placementState(event => event.set(BlockProperties.AXIS, event.clickedFace.axis)) - .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(STONE_CHARACS.moon_deepslate.mapColor) - .tagBoth('tfg:moon_deepslate_cutter_set') + .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -1029,45 +1013,45 @@ function registerTFGSpaceBlocks(event) { // Mars Stone SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_mars_${shape}`, shape) - .soundType(STONE_CHARACS.mars.sound) + .soundType(global.STONE_CHARACS.mars.sound) .textureAll('ad_astra:block/cracked_mars_stone_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) - .mapColor(STONE_CHARACS.mars.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) + .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_mars') - .soundType(STONE_CHARACS.mars.sound) + .soundType(global.STONE_CHARACS.mars.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) - .mapColor(STONE_CHARACS.mars.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) + .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_mars_${shape}`, shape) - .soundType(STONE_CHARACS.mars.sound) + .soundType(global.STONE_CHARACS.mars.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) - .mapColor(STONE_CHARACS.mars.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) + .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_mars_wall', 'wall') - .soundType(STONE_CHARACS.mars.sound) + .soundType(global.STONE_CHARACS.mars.sound) .textureAll('ad_astra:block/chiseled_mars_stone_bricks') .tagBoth('tfg:brick_walls') - .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) - .mapColor(STONE_CHARACS.mars.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) + .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -1075,45 +1059,45 @@ function registerTFGSpaceBlocks(event) { // Venus Stone SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_venus_${shape}`, shape) - .soundType(STONE_CHARACS.venus.sound) + .soundType(global.STONE_CHARACS.venus.sound) .textureAll('ad_astra:block/cracked_venus_stone_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) - .mapColor(STONE_CHARACS.venus.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) + .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_venus') - .soundType(STONE_CHARACS.venus.sound) + .soundType(global.STONE_CHARACS.venus.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) - .mapColor(STONE_CHARACS.venus.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) + .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_venus_${shape}`, shape) - .soundType(STONE_CHARACS.venus.sound) + .soundType(global.STONE_CHARACS.venus.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) - .mapColor(STONE_CHARACS.venus.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) + .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_venus_wall', 'wall') - .soundType(STONE_CHARACS.venus.sound) + .soundType(global.STONE_CHARACS.venus.sound) .textureAll('ad_astra:block/chiseled_venus_stone_bricks') .tagBoth('tfg:brick_walls') - .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) - .mapColor(STONE_CHARACS.venus.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) + .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -1121,45 +1105,45 @@ function registerTFGSpaceBlocks(event) { // Mercury Stone SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_mercury_${shape}`, shape) - .soundType(STONE_CHARACS.mercury.sound) + .soundType(global.STONE_CHARACS.mercury.sound) .textureAll('ad_astra:block/cracked_mercury_stone_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) - .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) + .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_mercury') - .soundType(STONE_CHARACS.mercury.sound) + .soundType(global.STONE_CHARACS.mercury.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) - .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) + .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_mercury_${shape}`, shape) - .soundType(STONE_CHARACS.mercury.sound) + .soundType(global.STONE_CHARACS.mercury.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) - .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) + .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_mercury_wall', 'wall') - .soundType(STONE_CHARACS.mercury.sound) + .soundType(global.STONE_CHARACS.mercury.sound) .textureAll('ad_astra:block/chiseled_mercury_stone_bricks') .tagBoth('tfg:brick_walls') - .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) - .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) + .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -1167,45 +1151,45 @@ function registerTFGSpaceBlocks(event) { // Glacio Stone SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_glacio_${shape}`, shape) - .soundType(STONE_CHARACS.glacio.sound) + .soundType(global.STONE_CHARACS.glacio.sound) .textureAll('ad_astra:block/cracked_glacio_stone_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) - .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) + .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_glacio') - .soundType(STONE_CHARACS.glacio.sound) + .soundType(global.STONE_CHARACS.glacio.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) - .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) + .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_glacio_${shape}`, shape) - .soundType(STONE_CHARACS.glacio.sound) + .soundType(global.STONE_CHARACS.glacio.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) - .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) + .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_glacio_wall', 'wall') - .soundType(STONE_CHARACS.glacio.sound) + .soundType(global.STONE_CHARACS.glacio.sound) .textureAll('ad_astra:block/chiseled_glacio_stone_bricks') .tagBoth('tfg:brick_walls') - .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) - .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) + .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -1213,42 +1197,42 @@ function registerTFGSpaceBlocks(event) { // Permafrost SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_permafrost_${shape}`, shape) - .soundType(STONE_CHARACS.permafrost.sound) + .soundType(global.STONE_CHARACS.permafrost.sound) .textureAll('ad_astra:block/cracked_permafrost_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.permafrost.type}_items`) - .mapColor(STONE_CHARACS.permafrost.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.permafrost.type}_items`) + .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_permafrost') - .soundType(STONE_CHARACS.permafrost.sound) + .soundType(global.STONE_CHARACS.permafrost.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') - .mapColor(STONE_CHARACS.permafrost.mapColor) + .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_permafrost_${shape}`, shape) - .soundType(STONE_CHARACS.permafrost.sound) + .soundType(global.STONE_CHARACS.permafrost.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .mapColor(STONE_CHARACS.permafrost.mapColor) + .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_permafrost_wall', 'wall') - .soundType(STONE_CHARACS.permafrost.sound) + .soundType(global.STONE_CHARACS.permafrost.sound) .textureAll('ad_astra:block/chiseled_permafrost_bricks') .tagBoth('tfg:brick_walls') - .mapColor(STONE_CHARACS.permafrost.mapColor) + .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -1257,11 +1241,11 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/bricks_red_granite_${shape}`, shape) - .soundType(STONE_CHARACS.red_granite.sound) + .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) - .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) + .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -1269,11 +1253,11 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_red_granite_${shape}`, shape) - .soundType(STONE_CHARACS.red_granite.sound) + .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/bricks_cracked') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) - .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) + .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -1281,11 +1265,11 @@ function registerTFGSpaceBlocks(event) { SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_red_granite_${shape}`, shape) - .soundType(STONE_CHARACS.red_granite.sound) + .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/bricks_mossy') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) - .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) + .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -1321,17 +1305,17 @@ function registerTFGSpaceBlocks(event) { event.create('tfg:rock/bricks_venus_sandstone_wall', 'wall') .soundType('stone') .textureAll('ad_astra:block/venus_sandstone_bricks') - .mapColor(STONE_CHARACS.venus.mapColor) + .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_venus_sandstone_${shape}`, shape) - .soundType(STONE_CHARACS.venus.sound) + .soundType(global.STONE_CHARACS.venus.sound) .textureAll('ad_astra:block/cracked_venus_sandstone_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .mapColor(STONE_CHARACS.venus.mapColor) + .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) diff --git a/kubejs/startup_scripts/tfg/blocks.supports.js b/kubejs/startup_scripts/tfg/blocks.supports.js index 1935d26a3..662327468 100644 --- a/kubejs/startup_scripts/tfg/blocks.supports.js +++ b/kubejs/startup_scripts/tfg/blocks.supports.js @@ -1,79 +1,390 @@ "use strict"; function registerTFGSupportBlocks(event) { - - event.create('tfg:light_concrete_support', 'tfc:support') - .textureAll('tfg:block/support/light_concrete_support') + // Wood + event.create(`tfg:aeronos_support`, 'tfc:support') + .textureAll(`ad_astra:block/aeronos_cap`) .horizontal(horizontal => { - horizontal.textureAll('tfg:block/support/light_concrete_support') - horizontal.soundType('stone') + horizontal.textureAll(`ad_astra:block/aeronos_stem`) + horizontal.soundType('wood') + horizontal.hardness(2) + horizontal.resistance(2) + horizontal.mapColor('terracotta_blue') + horizontal.tagBlock('minecraft:mineable/axe') + horizontal.requiresTool(false) + }) + .soundType('wood') + .hardness(2) + .resistance(2) + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/axe') + .requiresTool(false) + + event.create(`tfg:strophar_support`, 'tfc:support') + .textureAll(`ad_astra:block/strophar_cap`) + .horizontal(horizontal => { + horizontal.textureAll(`ad_astra:block/strophar_stem`) + horizontal.soundType('wood') + horizontal.hardness(2) + horizontal.resistance(2) + horizontal.mapColor('color_white') + horizontal.tagBlock('minecraft:mineable/axe') + horizontal.requiresTool(false) + }) + .soundType('wood') + .hardness(2) + .resistance(2) + .mapColor('color_white') + .tagBlock('minecraft:mineable/axe') + .requiresTool(false) + + event.create(`tfg:glacian_support`, 'tfc:support') + .textureAll(`ad_astra:block/stripped_glacian_log`) + .horizontal(horizontal => { + horizontal.textureAll(`ad_astra:block/stripped_glacian_log`) + horizontal.soundType('wood') + horizontal.hardness(2) + horizontal.resistance(2) + horizontal.mapColor('crimson_stem') + horizontal.tagBlock('minecraft:mineable/axe') + horizontal.requiresTool(false) + }) + .soundType('wood') + .hardness(2) + .resistance(2) + .mapColor('crimson_stem') + .tagBlock('minecraft:mineable/axe') + .requiresTool(false) + + // Stone + global.TFC_STONE_TYPES.forEach(stone => { + event.create(`tfg:${stone}_support`, 'tfc:support') + .textureAll(`tfc:block/rock/raw/${stone}`) + .horizontal(horizontal => { + horizontal.textureAll(`tfc:block/rock/raw/${stone}`) + horizontal.soundType('stone') + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor('color_gray') + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType('stone') + .hardness(5) + .resistance(8) + .mapColor('color_gray') + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + }) + + event.create(`tfg:migmatite_support`, 'tfc:support') + .textureAll('minecraft:block/deepslate') + .horizontal(horizontal => { + horizontal.textureAll('minecraft:block/deepslate') + horizontal.soundType(global.STONE_CHARACS.deepslate.sound) horizontal.hardness(5) - horizontal.resistance(16) - horizontal.mapColor('color_light_gray') + horizontal.resistance(8) + horizontal.mapColor(global.STONE_CHARACS.deepslate.mapColor) horizontal.tagBlock('minecraft:mineable/pickaxe') horizontal.requiresTool(true) }) - .soundType('stone') + .soundType(global.STONE_CHARACS.deepslate.sound) .hardness(5) - .resistance(16) - .mapColor('color_light_gray') + .resistance(8) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .requiresTool(true) - event.create('tfg:dark_concrete_support', 'tfc:support') - .textureAll('tfg:block/support/dark_concrete_support') + event.create(`tfg:pyroxenite_support`, 'tfc:support') + .textureAll('minecraft:block/blackstone') .horizontal(horizontal => { - horizontal.textureAll('tfg:block/support/dark_concrete_support') - horizontal.soundType('stone') + horizontal.textureAll('minecraft:block/blackstone') + horizontal.soundType(global.STONE_CHARACS.blackstone.sound) horizontal.hardness(5) - horizontal.resistance(16) - horizontal.mapColor('color_gray') + horizontal.resistance(8) + horizontal.mapColor(global.STONE_CHARACS.blackstone.mapColor) horizontal.tagBlock('minecraft:mineable/pickaxe') horizontal.requiresTool(true) }) - .soundType('stone') + .soundType(global.STONE_CHARACS.blackstone.sound) + .hardness(5) + .resistance(8) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create(`tfg:travertine_support`, 'tfc:support') + .textureAll('minecraft:block/dripstone_block') + .horizontal(horizontal => { + horizontal.textureAll('minecraft:block/dripstone_block') + horizontal.soundType(global.STONE_CHARACS.dripstone.sound) + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor(global.STONE_CHARACS.dripstone.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(global.STONE_CHARACS.dripstone.sound) + .hardness(5) + .resistance(8) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create(`tfg:keratophyre_support`, 'tfc:support') + .textureAll('beneath:block/crackrack') + .horizontal(horizontal => { + horizontal.textureAll('beneath:block/crackrack') + horizontal.soundType(global.STONE_CHARACS.crackrack.sound) + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor(global.STONE_CHARACS.crackrack.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(global.STONE_CHARACS.crackrack.sound) + .hardness(5) + .resistance(8) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create(`tfg:anorthosite_support`, 'tfc:support') + .textureAll('ad_astra:block/moon_stone') + .horizontal(horizontal => { + horizontal.textureAll('ad_astra:block/moon_stone') + horizontal.soundType(global.STONE_CHARACS.moon.sound) + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor(global.STONE_CHARACS.moon.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(global.STONE_CHARACS.moon.sound) + .hardness(5) + .resistance(8) + .mapColor(global.STONE_CHARACS.moon.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create(`tfg:norite_support`, 'tfc:support') + .textureAll('ad_astra:block/moon_deepslate') + .horizontal(horizontal => { + horizontal.textureAll('ad_astra:block/moon_deepslate') + horizontal.soundType(global.STONE_CHARACS.moon_deepslate.sound) + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(global.STONE_CHARACS.moon_deepslate.sound) + .hardness(5) + .resistance(8) + .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create(`tfg:argillite_support`, 'tfc:support') + .textureAll('ad_astra:block/mars_stone') + .horizontal(horizontal => { + horizontal.textureAll('ad_astra:block/mars_stone') + horizontal.soundType(global.STONE_CHARACS.mars.sound) + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor(global.STONE_CHARACS.mars.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(global.STONE_CHARACS.mars.sound) + .hardness(5) + .resistance(8) + .mapColor(global.STONE_CHARACS.mars.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create(`tfg:trachyte_support`, 'tfc:support') + .textureAll('ad_astra:block/venus_stone') + .horizontal(horizontal => { + horizontal.textureAll('ad_astra:block/venus_stone') + horizontal.soundType(global.STONE_CHARACS.venus.sound) + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor(global.STONE_CHARACS.venus.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(global.STONE_CHARACS.venus.sound) + .hardness(5) + .resistance(8) + .mapColor(global.STONE_CHARACS.venus.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create(`tfg:komatiite_support`, 'tfc:support') + .textureAll('ad_astra:block/mercury_stone') + .horizontal(horizontal => { + horizontal.textureAll('ad_astra:block/mercury_stone') + horizontal.soundType(global.STONE_CHARACS.mercury.sound) + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor(global.STONE_CHARACS.mercury.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(global.STONE_CHARACS.mercury.sound) + .hardness(5) + .resistance(8) + .mapColor(global.STONE_CHARACS.mercury.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create(`tfg:phonolite_support`, 'tfc:support') + .textureAll('ad_astra:block/glacio_stone') + .horizontal(horizontal => { + horizontal.textureAll('ad_astra:block/glacio_stone') + horizontal.soundType(global.STONE_CHARACS.glacio.sound) + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor(global.STONE_CHARACS.glacio.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(global.STONE_CHARACS.glacio.sound) + .hardness(5) + .resistance(8) + .mapColor(global.STONE_CHARACS.glacio.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create(`tfg:permafrost_support`, 'tfc:support') + .textureAll('ad_astra:block/permafrost') + .horizontal(horizontal => { + horizontal.textureAll('ad_astra:block/permafrost') + horizontal.soundType(global.STONE_CHARACS.permafrost.sound) + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor(global.STONE_CHARACS.permafrost.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(global.STONE_CHARACS.permafrost.sound) + .hardness(5) + .resistance(8) + .mapColor(global.STONE_CHARACS.permafrost.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create(`tfg:red_granite_support`, 'tfc:support') + .textureAll('gtceu:block/stones/red_granite/stone') + .horizontal(horizontal => { + horizontal.textureAll('gtceu:block/stones/red_granite/stone') + horizontal.soundType(global.STONE_CHARACS.red_granite.sound) + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor(global.STONE_CHARACS.red_granite.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(global.STONE_CHARACS.red_granite.sound) + .hardness(5) + .resistance(8) + .mapColor(global.STONE_CHARACS.red_granite.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create(`tfg:stone_support`, 'tfc:support') + .textureAll('minecraft:block/stone') + .horizontal(horizontal => { + horizontal.textureAll('minecraft:block/stone') + horizontal.soundType(global.STONE_CHARACS.reconstituted.sound) + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor(global.STONE_CHARACS.reconstituted.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(global.STONE_CHARACS.reconstituted.sound) + .hardness(5) + .resistance(8) + .mapColor(global.STONE_CHARACS.reconstituted.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + // Concrete + event.create('tfg:light_concrete_support', 'tfc:support') + .textureAll('gtceu:block/stones/light_concrete/stone') + .horizontal(horizontal => { + horizontal.textureAll('gtceu:block/stones/light_concrete/stone') + horizontal.soundType(global.STONE_CHARACS.light_concrete.sound) + horizontal.hardness(5) + horizontal.resistance(16) + horizontal.mapColor(global.STONE_CHARACS.light_concrete.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(global.STONE_CHARACS.light_concrete.sound) .hardness(5) .resistance(16) - .mapColor('color_gray') + .mapColor(global.STONE_CHARACS.light_concrete.mapColor) .tagBlock('minecraft:mineable/pickaxe') .requiresTool(true) event.create('tfg:reinforced_light_concrete_support', 'tfc:support') - .textureAll('tfg:block/support/reinforced_light_concrete_support') + .textureAll('gtceu:block/stones/light_concrete/stone') .horizontal(horizontal => { - horizontal.textureAll('tfg:block/support/reinforced_light_concrete_support') - horizontal.soundType('stone') + horizontal.textureAll('gtceu:block/stones/light_concrete/stone') + horizontal.soundType(global.STONE_CHARACS.light_concrete.sound) horizontal.hardness(5) horizontal.resistance(64) - horizontal.mapColor('color_light_gray') + horizontal.mapColor(global.STONE_CHARACS.light_concrete.mapColor) horizontal.tagBlock('minecraft:mineable/pickaxe') horizontal.requiresTool(true) }) - .soundType('stone') + .soundType(global.STONE_CHARACS.light_concrete.sound) .hardness(5) .resistance(64) - .mapColor('color_light_gray') + .mapColor(global.STONE_CHARACS.light_concrete.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create('tfg:dark_concrete_support', 'tfc:support') + .textureAll('gtceu:block/stones/dark_concrete/stone') + .horizontal(horizontal => { + horizontal.textureAll('gtceu:block/stones/dark_concrete/stone') + horizontal.soundType(global.STONE_CHARACS.dark_concrete.sound) + horizontal.hardness(5) + horizontal.resistance(16) + horizontal.mapColor(global.STONE_CHARACS.dark_concrete.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(global.STONE_CHARACS.dark_concrete.sound) + .hardness(5) + .resistance(16) + .mapColor(global.STONE_CHARACS.dark_concrete.mapColor) .tagBlock('minecraft:mineable/pickaxe') .requiresTool(true) event.create('tfg:reinforced_dark_concrete_support', 'tfc:support') - .textureAll('tfg:block/support/reinforced_dark_concrete_support') + .textureAll('gtceu:block/stones/dark_concrete/stone') .horizontal(horizontal => { - horizontal.textureAll('tfg:block/support/reinforced_dark_concrete_support') - horizontal.soundType('stone') + horizontal.textureAll('gtceu:block/stones/dark_concrete/stone') + horizontal.soundType(global.STONE_CHARACS.dark_concrete.sound) horizontal.hardness(5) horizontal.resistance(64) - horizontal.mapColor('color_gray') + horizontal.mapColor(global.STONE_CHARACS.dark_concrete.mapColor) horizontal.tagBlock('minecraft:mineable/pickaxe') horizontal.requiresTool(true) }) - .soundType('stone') + .soundType(global.STONE_CHARACS.dark_concrete.sound) .hardness(5) .resistance(64) - .mapColor('color_gray') + .mapColor(global.STONE_CHARACS.dark_concrete.mapColor) .tagBlock('minecraft:mineable/pickaxe') .requiresTool(true) + // Metal event.create('tfg:rebar_support', 'tfc:support') .textureAll('tfg:block/support/rebar_support') .horizontal(horizontal => { @@ -115,49 +426,4 @@ function registerTFGSupportBlocks(event) { .mapColor('color_gray') .tagBlock('minecraft:mineable/pickaxe') .requiresTool(true) - - - const other_stone = ['pyroxenite', 'migmatite', 'travertine'] - const stone_types = global.TFC_STONE_TYPES.concat(other_stone) - - stone_types.forEach(stone => { - event.create(`tfg:${stone}_support`, 'tfc:support') - .textureAll(`tfg:block/support/${stone}_support`) - .horizontal(horizontal => { - horizontal.textureAll(`tfg:block/support/${stone}_support`) - horizontal.soundType('stone') - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor('color_gray') - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType('stone') - .hardness(5) - .resistance(8) - .mapColor('color_gray') - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - }) - - global.AD_ASTRA_WOOD.forEach(wood => { - event.create(`tfg:${wood.name}_support`, 'tfc:support') - .textureAll(`tfg:block/support/${wood.name}_support`) - .horizontal(horizontal => { - horizontal.textureAll(`tfg:block/support/${wood.name}_support`) - horizontal.soundType('wood') - horizontal.hardness(2) - horizontal.resistance(2) - horizontal.mapColor('color_orange') - horizontal.tagBlock('minecraft:mineable/axe') - horizontal.requiresTool(false) - }) - .soundType('wood') - .hardness(2) - .resistance(2) - .mapColor('color_orange') - .tagBlock('minecraft:mineable/axe') - .requiresTool(false) - }) - } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 33d6337ca..d1345a709 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -168,8 +168,29 @@ global.FOOD_FRUIT = [ {name: 'shadow_berry', id: 'betterend:shadow_berry_cooked', saturation: 1, water: 5, fruit: 1.5, decay: 2 } ]; + +global.STONE_CHARACS = { // Sets of stone block properties used for block registry. + deepslate: { sound: 'deepslate', type: "metamorphic", mapColor: 'terracotta_grey' }, + blackstone: { sound: 'deepslate', type: "igneous_intrusive", mapColor: 'color_black' }, + dripstone: { sound: 'dripstone_block', type: "sedimentary", mapColor: 'terracotta' }, + crackrack: { sound: 'netherrack', type: "igneous_intrusive", mapColor: 'crimson_stem' }, + nether: { sound: 'nether_bricks', type: "igneous_intrusive", mapColor: 'nether' }, + moon: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_cyan' }, + moon_deepslate: { sound: 'deepslate', type: "igneous_intrusive", mapColor: 'terracotta_blue' }, + mars: { sound: 'stone', type: "sedimentary", mapColor: 'terracotta_orange' }, + venus: { sound: 'stone', type: "igneous_extrusive", mapColor: 'terracotta_yellow' }, + mercury: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_purple' }, + glacio: { sound: 'stone', type: "igneous_extrusive", mapColor: 'terracotta_light_blue' }, + permafrost: { sound: 'stone', type: null, mapColor: 'snow' }, + red_granite: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_red' }, + reconstituted: { sound: 'stone', type: null, mapColor: 'stone' }, + light_concrete: { sound: 'stone', type: null, mapColor: 'color_light_gray' }, + dark_concrete: { sound: 'stone', type: null, mapColor: 'color_gray' } +} + + /** @type {Hammering[]} */ -global.HAMMERING = [ +global.HAMMERING = [ // Crushing relationships for manual block hammering, create press hammering and gtceu forge hammer crushing. // Beneath { raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 16 }, { raw: 'tfg:rock/hardened_deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 16 },