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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 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 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}XfgV|A{)n3?jVn?f>i_W$HY2J>m2rrT51qy~u;Sb*(b5Y#gcDJKh3rPpqEoO)EhSaIi*SpiEq`DaF|tMAdU*)Z?4 z);&?a*{7?5e)#OTJ&~KsUgNIDr`3RW5yMK}P|6Vkck$Gk$0|SF-fKP~PeSLjNb$M=a zQC3b~a(Y%(RaInsk`$LxI|Bm)XMsm#F#`j)FbFd;%$g&?z`&)K84^(v;p=0SoS&ls47Yg zuJQ{>uF6ifOi{A8BS`}`knXl~0)0b01O41wxa#5(*D{1XSXCE?R2HP_2c;J0mlh?bx|XHp zl_bAy?w-B@aP^>2OV7+L0ILS6gsDnNhN~$k zEy@AQrzGpA=A`DP=9Lud8|oRtJy4RFhKL6g_k(1>-h~-kky`*a7eys3TtEs7e0{B4 z@{>zJHhH?(DuEnmm6D&FnPLTI8kr>~8z!5Z>6#iD80eZLSz78^SQ;nkT9~97r6n0z z7$zE6!p!l^D=taQOHKuuQ;}PsmzkMjWoBfSm}F^gsB3IwVxendVrH(JWSW?$Ymj7N zoM@VAZkcA82Gj3fl$oBHmzaa>9*{XHnJHEViDrpuCLnW6O^kI-EJ5x_F*egpNlY^{ zH8V{#HcL)bQUHawm1BUXt&)+R0hAk%lUS0LUzBUB6rP!vl3!j76%WbGO${zd1O<|z znSq6=p^>SDxsjQPrKJ&6MObQ4ab|uV$S^|#JtHF}g_L9~xBQ~q#1dPj%-qEERQ-ay zbR`8)$XodrWv1qpB!ZH-t&$K^D;N}LUre_wH6jgc>?R_jdY$`y-ft5#QaY=qrCA!;!Qwx!V zpuv!nsQ@k&tP+zUkyo5pmYSjj6->@Z%u7#Au~pKCiDY6)<;h9Lsc8nL#=3^)riQvE zCW%J6N#=>Ex+VsRMky&~sitYEsWAP;`DrEPiAAZ7>8W`owo2}qxdq^4p`ZaxpPDe0 zf7s}Qs%qpsV*{$-e0?#p zmkp>AwDJU%h{2@=1v#0iMM(J!oH~P33y~77jXoY7NTz|y!+a79L)QQ?%Q?TGvM4h> zqr|^Fk4UHC&;l{fCo?%Uub4=8p(%!hDpG?898wU`AQv}K`%NF*Is>)TKsHXHD`J(O2r^H4ib_Coe}DuYZ>-r_W-8})22 z-cG)ESV8WzqV@rwWhTipqF?FAem2Sa{wraN@lMW9pFS;7x-lmziv8$&o%^r;xSe)2 z$vgg;L-{tRwzcEZhD%N#`{z_&{*bb*RWq%%zT&oJNX+D0OAqFCEfe40v~!&=sF~{N L>gTe~DWM4fBK|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 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}XfgV|A{)n3?jVn?f>i_W$HY2J>m2rrT51qy~u;Sb*(b5Y#gcDJKh3rPpqEoO)EhSaIi*SpiEq`DaF|tMAdU*)Z?4 z);&?a*{7?5e)#OTJ&~KsUgNIDr`3RW5yMK}P|6Vkck$Gk$0|SF-fKQ04v4xe5y;DGF zn7gmPu91nFrnaM-`-n*TA>HIW;5GqpB!1 zxXLdixhgx^GDXSWj+e`(!m1*-AUCxnQK2F?C$HG5!d3}vuvK2M6-ZcLNdc^+B->Ug z!Z$#{Ilm}X!9>qQ&p_9;BD2g$$&QyxLBXadCCw_x#SLmmQA(PvQbtKhft9{~d3m{B zxv^e;QM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6#1N=4E~&-IMVSR9nfZANAY&7g z@=Hr>m6V`nXBLzsyH=FI%?I(prWco_=zA8FB%4&^7PwZF=o=XrSm+uU=^9yr`~dM> zZh@~aTxVV}Gz^pTbM-3{3-k^34D@qz;i`*ET+0ylU{zflQdy9yACy|0Us{x$>ROhX zSE3AaXhBYCF|u8y#i<}6uv>Fd()25GAvVI)yLVPo_drQz8X_K0+z*lgdlzPGMQ#DyTojeCZ~-YS@b$HF z$xki?+2rYBs|0eORZ4zxW{MSY7-l8R%LXm>cMt z8<|-eS(uq6CMTOIDS*P;$}zyxR>?@u0Ll%>Ni0drFUqx53eU_-$uBR4iic$8rUsWJ zf&$6V%)r9b(9qP<$js2d)YuTJA}qD2I5R&FWSF6Wo{^D~LQ1lgTYgb)Vu`I%W^Q77 zs(wLUx{?AY=_TB`fEm)WnkfqLBRj99t!j+Z2rS3=Lp8LqWj? zl+ax(O00bHlfgQ{8d6ih`A-21z`4*VFF&|t{PQ~;L>R*A`w$SY1POHEON3MOYH=B1~m*edD6L^83YatpIG0|O&NOI-uA zBy(L8Gjjvoq%?yhUDIU4WaG3X%QVxZWSIWq{Irtt#G+Kk^whi(TP63*+yZd2P|$#; zPfeK0@{Cka;xjNZ&^0vDHM9sZG_W$Yurf7QLP`ywR02*U)bK}|sey%Int`dVd76cZ zu1Qj&sjh{gk&$kyxk+kTqN%xwrGYWbb!7X)GQ`lr%GAWl)R<=eNHR7xOExpL)HO&o zPtr9>O0v+kG_f$!1!r$FV-pKAQ$tGqVPp_uXlZ3)W@T)I>JJ-zP!)%q)@(o(gRd_} zva|tJ9#)>9k|emapdcqRwFoJFf@3u}wGb(?ZS?WzKr#(nj^vYI7`g_CSdBsG!3r#U3RFN7I;E;ld2D!L_+CBQ0y1LDCOPpNq+ zwn{}x_I58`O-N^8V5stRaSV~TEPD1JC$pje>jnGBo1f>aRK$5O3pS@8-PoAG*ya68 zKk;Pt1IKsyCLRszoMX+J|I`$viZw)wI61uIJjGM?HGMzphE)3~+YR=*3BK&Ik?A}w z*B0E)miq8xM}9|}+O%$$Mcpg^tY2EmTjprHyTG)a>HNGGdKu?LV*7$VyMtPHp00i_ I>zopr0JhiS!vFvP diff --git a/kubejs/assets/tfg/textures/block/support/chalk_support.png b/kubejs/assets/tfg/textures/block/support/chalk_support.png deleted file mode 100644 index 40581305c6424c54c56a4b25ce48bd9dcc4275c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3038 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}W3!zEDWXg%9Rx2{MJvHZrVD>+XFIWO_a?3s1&P<8&9fY0+@?w#1Xbkp2T zA2xp6x?y8lcH-(Op8_{++M;B3>GS^lD?V9MqPPEkeW%**`#kQ(<~f-=O9eN)X%d$2 z&pLT!&9x6c6T+f87Q9?GyWh88b%m8(-pat&z7eS(_g|b7SK_-(vBQ+~J>UVGkfipR3^M@NB2#ObgNfd`*WO6KI}C|{}@ z{fYUc&~nlB+S`g&KRa)GmAkq7+nFtwQp=3au^2A9U=WcyQ-<}>rdx}497(m0I(q-% z@8w5QJF+E%WfreVSopi{iu|8<*Uo7aPq+G&YEDZTk95PuDf#k zyxsBg2@}?-txqWDui7-pHvZ||-l=>4Rvvrb|HAyx!lL7q!G$pl3=Bd6J|V9A_if*> zb^WCaXHK0ww0+ywySJ}xKgV3gz`(#+;1OBOz`!jG!i)^F=14FwaHeI3M3hAM`dB6B z=jtV<&bX_Yl%Z!xlc)1i5Y>HCStb$zJpoSEsq}eKEl#~=$>Fbx5 zm+O@q>*W`v>l<2HTIw4Z=^Gj87Nw-=7FXt#Bv$C=6)Qswfg0nITAW;zSx}OhpQiva zHZdu`w8U0P32Js`K}oV}MG4$|5Fc!MaY>54XF*A_NkwjfYek8^k%57Qu7Q!RktN6v z5YOcn`1-@5DTyY=7G?&z$%ZB=x+WH;2D+Ap1}VD6MyY0I z<`#*mMg~SOb3F5kOA_;vQ$glbOYCnOK_X8X2dU>6#>2r0FImrWos{ zB%7O=n;9i18(SE_^!pcOrf23Q<{-NVWKK$Eij{$dv1PJ}xtXr9sd2KdNveUlZjza~ zrEZF`v86$hv0+L|T9T3iD7>v413Yb&jPwkk+<=_KlC=DyTwA5^%)FHR@?xlXNM>$o za7iL4kPOWXEKH1yj0{Z-jVz5#jG!vQQj3Z+^YcK485-yr87V2GBwM-V7v(0F*eYe_ zCZ?zA7v!ZYDS$%W%D*TxHLoNQl*Db748dNqaxO|uEXgkl$i$h$I9JhMY_VaH(LGm<)-$;>5Dl6eXx&azPEAfRvM@GHOiQ$Y=`YStD=AMbN_9+6%`350a?i{y04ECt z4QTq*gsCjgNChQ610w@nLnB>7ix5LYD+5C-V^bxh)Bs8);6y?Ve;631CMPGGr06Ck zCnoBen4~7^CK{L<>L#X{8Jd}y7^fu}n!;R1wm&RG3@xlo&8&<}Xy%Vp;}nx5b5kST zWW!`jU6Zs_6WzpQ!(?3}a|08L#AJ&UYQzW3AEs#ju+axqamZ=S22?Tl`eGzY8&Kt8 zyGY5GO8Spqum3J z>g+Op_)R2pUBW&WA=oh$giZ8~r-8`P@vboFyt=akR{02S&0;s5{u 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 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}W7!zEDWSbbWD$)cV~I`5dYPiaSHomisL8yLs^{hp!o*}cYhtv789*>>ts za`J`^8`H8AS5Nt*5g8dJDE;!+eCsSV(^D%i|NJ`lbM4&EvK&t?FMAqR)|~o$PK3## zvuDm_UOnHEv8YkOcGt@^^<{34r^w204_WbbnRn{P{ejaXihNgGXlXyQX0mXch+M?! zRMGcb?PpVM6>GHaygb3$`hIGj$Pd@TQ_mYt@mPPnv7sO$!h7n5z(dbAC3Ak~-ma<> z{fXI_)lVZXJZEY6+4yndE=w!eXo2`8SgGo)55*` z#rY?RA7a0(U39IC;j45(S>%--S&REE&)V0#d$CVsilm3y!>=y;GR36UFD%=4;r4mE zO>_%)r1c48n{Iv*t)JFmR@2hD4M^`1)8S=jZArrsOB3 z>Q&?xFo1xKeMLcHa&~HoLQ-maW}dCm``!DM6f#q6mBLMZ4SWlnQ!_F>s)|yBtNcQe ztFn_VQGyEP{zO}`=+Vk1nwyQgmeTsi*ms7 zDarb&IjOm+c_qdAhI)o@50qr4A>skW{U8~zcVWg>;>ZT>980ng%ni}X@CR!xwrleS!Stc17 zCmAOt!u0zWWu|B5CFUTz2V_o4W{QKEjt zD=C0N-paoyGc~Uy5tPJjl?=gNvT`m;O)SYT3dzsUu~h=OO~FXd&;XV*6clVg3Ej1# z#L6c>8LShmAvFb@{}jLgoC}>2(-rjLf;Reuv|*SVoRMFi2R8tkDG8a1stInUV^K+Y zeo?l6k$+NFYH|s&rsC2DH#aCXJ+ru^sM3>Y?_<$nQvoUttUNM{OY(~<(cKoDT8JbB z4ThXd1#qcgm6!~PyyC>N)D$JCU~)!cUV3VZt&%=WBoj+2Pc}A9G)y+L)HO~qH_<@D*Q)8O>BPG?`*f7!9Lf68;!bI1^#3)TS z(Za+`H`T=4*vQD(GSMI{nHv5uvNATXGBiW=hmAg{ibGCoHlT{Z*B2vM+JGt#D^E~K z5?oqPkdv8Ogp@wPu^OCOh!oj2`gn98nFcOL@<}iZT?51{=lp`oqRjM+694i%BAtdq z3&cF1%;eO(Vj|szrWg{cNDT>aNI^t{T--qI9({1D2Gqg<@!*Z8)Vvg1r6MJJJGHqJ zH!v_Ts1QzmBV5vTg$dYt9iSftUN2*v6_`oHvFsl%~FwXdDpIFYP>~4?DyZui5 p{$;t}F??73;%jat5wGumW-mw+I%B(ilMARx=jrO_vd$@?2>|hg>OcSh 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 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 diff --git a/kubejs/assets/tfg/textures/block/support/diorite_support.png b/kubejs/assets/tfg/textures/block/support/diorite_support.png deleted file mode 100644 index 54a1640d33c69ba9deeefb73245417eff26956a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdm+fgWR1M)}51i$-uzClJ4m1 z$iT3%pZiZDD+2?AP=HT}>zXxd=Py`v=+L3=&d!R8ikzIB_m1oCGB7Z37I;J!GcfQS z1YyP<6SLnkFfinKx;TbNT;}b5&FG}a;bvdJc!13zr(wqqhsxOt{+6HI|D16~wtx15 zw|QC)I&!KWF2buM*d`ll{&M>-uzTH+&(jvD9D6JkeU#aKP4=As1*WOY=P%!hYbZKn w%`Fq6vwY=@mv3c%aB;2`fB3v}(v13*t9dtAD{Y^}z`(%Z>FVdQ&MBb@0E;zS0{{R3 diff --git a/kubejs/assets/tfg/textures/block/support/dolomite_support.png b/kubejs/assets/tfg/textures/block/support/dolomite_support.png deleted file mode 100644 index d9a1edf905fbe21b99dd27d6a3ca4a46fef7d30f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 629 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}W3!zEDWXnk6T$)qz*n<}{1__U;~R1BJu<|e7L=ld}p)Awh;+&ghB=%yC8 zymUObboMr}ZC;x4s@mS#Ny@hWf4iMs;p>D$J~WOWaPJpto*9BXw#4T86LX3)Iu^3Ij7yz_p!cJ!v}h-OIe|&mxP*#SW=$b6s*GEOgeSp1PrtTzqn4%kS3P!P9hq zHqKO9F0x*8+a~R2=WVZYJ9mF8iFs*sTOxUm=due15s5Q(Sd}*2TD0Rxihb0<`>%d4 zKa$#!Eg3AM{A9z0TKiZ0b>**@{jTcvT&Quyrt)4i`<1+d*Oxu7m8-gUU64io;UT@B z#q0(@^nRszX5Vi=R%)?ZC-a!uoP3AV&T-`>@m!~PmR$Z&rF4Hv%d_ki^R>Ty+kF0` ztjdzro!U3B~T`7BNIRgU&XMsm#F#`j)FbFd;%$g&?z`#)9>Eak7ahdnnLBT@? zJS+zmH(RtZt*Ov(DEf5VDyTtHtK-<;=?uT460UlAH*H#VNlt!-Y31|U12=z2=?T~$ zUh3;H*U_G7uitu=gK^c?dmDeH*2gtvJ-&C@e)jY;F0FHST@0Df|6ohBop$fWclnLyq{|O9>NhhmFfe$!`njxgN@xNA1Pm6Y 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 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 diff --git a/kubejs/assets/tfg/textures/block/support/light_concrete_support.png b/kubejs/assets/tfg/textures/block/support/light_concrete_support.png deleted file mode 100644 index e24b8bc3c44fe7b01adb57605be87da714ac9c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdu#id_r8etX;5T(Ukc!yQcKk zbvKuUIz^^4Ffb&0x;TbZ+~PeN$jGE1!hFDyX$I?^d5kF&9Nx_LeE(cvr;!9l|BbBw zCg+zXe!Qu?XvfQwy*+U@*9%^h?|gX2=d0_KtH!k(4(Rr?t=?-l<>A|+Z3a8uE>b){ l>#XCI*me3^S=Uy{*Ek4>D&GvB&cMLH;OXk;vd$@?2>>GqNml>> 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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 Zc?>jm$j>mH#lXP8;OXk;vd$@?2>?Y*)3yKr 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 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7wtKobhFF|#o$SqbM1jY- zcClXi)vI$FtP42(?gviL*}LmPq)QD`pKQ-DiSYM-v)0~yWV7E`>v_Vt;>yPscE&Xq z1Ap#$^H(ah#Q0%ivzo>8s?~>LL=yz(PrrCi?|pa}yrHYpf?OZHNb zJ=Ry`C3fHR>t*HDPQnT+mmV|mKXqZ%A^W>&;R~;vF#rB~iOZ>KlZhu;;(t2(Y~bJh vZu#1&V!m%ppY<;_&S$VTUw7u&SN^V}A75Q!erd_Tz`)??>gTe~DWM4f%MfQ+ diff --git a/kubejs/assets/tfg/textures/block/support/phyllite_support.png b/kubejs/assets/tfg/textures/block/support/phyllite_support.png deleted file mode 100644 index d2f974e8f9491472e937193b2c93322b70aa41cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2616 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}W3!zEDWXg%9Rx2{MJvHZrVD>+XFIWO_a?3s1&P<8&9fY0+@?w#1Xbkp2T zA2xp6x?y8lcH-(Op8_{++M;B3>GS^lD?V9MqPPEkeW%**`#kQ(<~f-=O9eN)X%d$2 z&pLT!&9x6c6T+f87Q9?GyWh88b%m8(-pat&z7eS(_g|b7SK_-(vBQ+~J>UVGkfipR3^M@NB2#ObgNfd`*WO6KI}C|{}@ z{fYUc&~nlB+S`g&KRa)GmAkq7+nFtwQp=3au^2A9U=WcyQ-<}>rdx}497(m0I(q-% z@8w5QJF+E%WfreVSopi{iu|8<*Uo7aPq+G&YEDZTk95PuDf#k zyxsBg2@}?-txqWDui7-pHvZ||-l=>4Rvvrb|HAyx!lL7q!G$pl3=I4MJ|V90!C^^J z(Wwb>1z8zYr4{=Y$}uo7FmM)lL>4nJa0`PlBg3pY5)2IN*D^yQN+NuHtdjF{^%7I^ zlT!66atlDp8Eot;3KEmEQ%e+*Qqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+ z7m{3+ootz+WN*jIWm92Qkz0_PT9T+xk(-lOY*k^a1UA?zuhspanW~5}t%cY=TQq#r?eQ^uF~REkPz6dIVoxS6}b=_Vd~vIeFNa?L7|qOnOgu>4N?hHm68lsQ&3uz z1C~!o)=$kz%}vcKDb_dCGlYAfBr^>W4=C;j$$-5JGqxhP0B$adN?5pn6c+gUTDjyW zmx65abg@+eInXL4KRGkS3d}S$wM;WlF*DV*NJ}=?H8Hd>*R`-THPcNsHZd|wO|vvI zHBW(=tdfi^O_K}^6LpOY4UBb7l8jSyEmD$=bxll@ z%#4$gEK)2jla&-e;cev@;AyL5q-Ox-2IM4`q~#ao+A4)-=B4D97emEEGILXdOA0Tl99{zaLoc_oRUByOu@2=I#P;p@8ky%`lUsQ?iw&2u4 zBq3-p^5?dwr%-jNSvQW@~rcX_n zP30M>pu}fjWT0zkq-$sqVrXP#WNu|(sf3go6clXqK}9OE-)ukyk*_aCFxY?!D=SY> z$_*|pD9Fi7EkX(pa8e6SEkrWhMjww3B-6m@HlGB;&^18Ja?UTPEXqvJDDf}PBhqO& zv_Q=B$xKeoD<;xiXo?}Bid1odLkc1q)1QjwCqo#p1p z00stzcuyC{5Q)p8eFu3D7;qfXlV&mNn7QBr@2P*rQ)@Pyo20sB#rDZ-U+5?5mmb_$ zG4*S4GO@=%zpV_#YCO7Zcv112E)9&U6Pk!(Bda4z^@BbQ$Da(A{O^Ul@ zHDB*-#f`69@7G)_+nTp)yYBpR+h6asjI+C$x?Faf@3YOEK1xYHPq(d3P*pLBIBj?+ zj4iE`#ZG?x!^`(L|D|5s+rXmF!BI4A=7vv!A#dj%m^t?-)5egrl=hPFpLy)5+CiTAvw+o<1A6R7`B9AvfwFFfcH9y85}Sb4q9e0N&tz2><{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 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}W3!zEDWXg%9Rx2{MJvHZrVD>+XFIWO_a?3s1&P<8&9fY0+@?w#1Xbkp2T zA2xp6x?y8lcH-(Op8_{++M;B3>GS^lD?V9MqPPEkeW%**`#kQ(<~f-=O9eN)X%d$2 z&pLT!&9x6c6T+f87Q9?GyWh88b%m8(-pat&z7eS(_g|b7SK_-(vBQ+~J>UVGkfipR3^M@NB2#ObgNfd`*WO6KI}C|{}@ z{fYUc&~nlB+S`g&KRa)GmAkq7+nFtwQp=3au^2A9U=WcyQ-<}>rdx}497(m0I(q-% z@8w5QJF+E%WfreVSopi{iu|8<*Uo7aPq+G&YEDZTk95PuDf#k zyxsBg2@}?-txqWDui7-pHvZ||-l=>4Rvvrb|HAyx!lL7q!G$pl3=Bd6J|V6^6k zcjv|>i&oE@bM@?rg)=5eeoLImz`(#+;1OBOz`!jG!i)^F=14FwuwTmzi71Ki^|4CM z&(%vz$xlkvtH>>200A5Oih{)C?9>v4q}24xJX@vryZ0+8WTx0Eg`4^s_!c;)W@LI) z6{QAO`Gq7`WhYyvDB0Wba@kZ^Rpb`rrj{fsROII56f|6v{iW0c_AU@di;*u17&w`R~RsBTJAU zAfC%D@b!i3%qxb5VRC-1ennz|zM-Cher_&Yb#aMn8Nwc{s*6J^3sUuiQj7CTi;`1a z%Tn`7lwl4n$SEyGwyU%_6(j_9Yfegz$)zBhJY8&+Kn}D@$xqHqu>vzw6Ag_M4J?dwjZIUNbWO}sEOaeX3{7-XladXM zOpJ}ql9Ehe=6L26mn7yTr-IC>$Su&z%uKOLHcT^0G)^_vHB3%3)ip^>Ow~;^PEOHH zGO$Q8H8e@JOtmnA>Gv*NPG=pZsL7POyg56mb4i00VF?bV^KD(1#1!=o8Y0VQz3net90;0BEKpWGbpA zxS5VcCFS`=+5ScTNm;4MCB&MFOB>wWpw#rt;*z3DPolk#MTboVs5r3l$Sf|&FRDa$ zTX1S2k`Oc)axxXbrGiyrG9>bf6U$Oll%Rsi8Hsu6sVTNf`Y@49EUDbkIN8+5#K2hB z$S5^M*CZ`1MK{U9JVn{iLH`*W^MsEStw{g z)2AlPrt*wbP~tN%GSD?N(lxXQF*LF=HnTD{S3*h+3JNy*pduC7Z#JNU$k!Jm7;Hd= zm6azbS|H~6WG1KP6%*+$G{ulmMXI>KAq5c)a&ZIIv-;p#6jY;vc<{}6aF;(`LC~d_uL!3gr2a! zEFqgGa6fr0b4&E{oJsNiS0taUpFE*KUHo9+zqL%OzxCyT}Ij3@_KuH8DF5=53b#$$USR_otwoBpav|;pyt{i#i|zmb 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!ia0y~yU=RRd7G?$phPQVgfdnK1d_r7{GlH|@JW?VZb+?8K=jkkh9 zaxbHM!)xciat&+?Ih%@iSZ3;GZ8tf0%h^Z%QJMQ%*O?_wS3R#4z6;#>Y3j{KM%6}@ z^6hH#EEL&vkGWqw+)?Q=UGq7 Si!m@TFnGH9xvX6^Rq3$O83 zFi7rYbZ>a={8z4lZ6Rk<@ea#O-K^~<=WaRs$UiD`U+X%v#ObQ%wZeCSJ3mdm`N*i+ zs8YUNZJvc9o9?l9TpNGWB1ufEOYC6L4QRB|t85$|(iRK571#J-3 zv5{JT=vY)VceJB`jl&w9wIaDL*Xqrjngk9uCfeOQQ+;Mn;{nH8TkfpN+wf+Nuxxk6 z$D5YAKYT>jnglxU&)aqL^|BCvw7-21whl<9ppR|a#vWFE% z9<@G{SRCokF`uj4s>tzS^-^ipy1+S~EEgCZ_S3P_krBHVq?$8j!_GGmhiVVya-N>{ z$6?O_&ZF5~YfJ9^*}1$bG2`UCnPI!mgdLMepQLHR^J&clHTUUjwrS`E-t3?9ar=*d znuU^&q7I52=aAGXx!?b*`TpHqC-2R33esS@>Ob%MHNJzoKW=^5bKd#y$L?mISg z|2xCTv#)z!mC82Bv%+>_{;bwx*(+x2fBClg z{72a%OICMk-?-b{Hzh@XN@aO&W`6y=kH3{a@h;*h+I5KKoiqaj1Al-|h-*(%-L&5J zj@qia()KexNQU_So`NirhHAzI={ovLI z4~{2YJ$N)SoITu8;15G#QAtqAM4|uFMWT*W6x``A|1MYlo?&5J+Nzs|d@E+9sw4** zPL362UeA%lQ2Qa-DQTIUzwWY!miyj4eEd4LCB1U~@8T~SmXjInCRX&lY;)b?XtO!< z<(%)G&TBL@k32t;%oaQ0$Hdp0PUp|z=Hs?8PFXVf^AW|QjTep;NpD`XP{?1nT{LuY zjpE}?hbp@_N3GlR%=RaDvt_R8(b8FmI}$kyRTP}uL{+CGDmtxp>*`c_>u&qUxzFBF zZ)S|DL6Ob^CecZc+5b1+zdP&aN>6i530AB4oZrbT9B-Ipn#)COr!eljojfuX|F#W6%;s&0R@7=t2*lVi&NXt@nPUzQllF+IpgJe|$A z@yolYS1C6FFE~!0+uj#>GGOO(v4zEUD+_s6%-GMpYK8eT&qvSQwDvf;{xnj4ZFA1Z zz3H^u=9zb%m}dvv{dr`^-GXUHm+QRNznqu)Yg^FaAhw$5ZT{CEvCr0Ede-Fkc?AOl O1B0ilpUXO@geCwIMGOf5 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 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%HfK6J2Y5O=D+Cnfr)B1( zGB9YIpE}XfgV|A{)&8;I#Ew=$7oBYZ+N>WB1ufEOYC6L4QRB|t85$|(iRK571#J-3 zv5{JT=vY)VceJB`jl&w9wIaDL*Xqrjngk9uCfeOQQ+;Mn;{nH8TkfpN+wf+Nuxxk6 z$D5YAKYT>jnglxU&)aqL^|BCvw7-21whl<9ppR|a#vWFE% z9<@G{SRCokF`uj4s>tzS^-^ipy1+S~EEgCZ_S3P_krBHVq?$8j!_GGmhiVVya-N>{ z$6?O_&ZF5~YfJ9^*}1$bG2`UCnPI!mgdLMepQLHR^J&clHTUUjwrS`E-t3?9ar=*d znuU^&q7I52=aAGXx!?b*`TpHqC-2R33esS@>Ob%MHNJzoKW=^5bKd#y$L?mISg z|2xCTv#)z!mC82Bv%+>_{;bwx*(+x2fBClg z{72a%OICMk-?-b{Hzh@XN@aO&W`6y=kH3{a@h;*h+I5KKoiqajgJ^(Hh^vpMkB_%s zOhjBpN=8s%NNz^1o3qD(&bJW^3=EtF9+AZi4BWyX%*Zfnjsyb(L!PILV~E6M(OyF? zWs-hfMmOraj7TfN*d;Qb1Cu&d6ow>Dbj&zTe$%N;- bed;AN#B{w@&8=r(U|{fc^>bP0l+XkKJJ=JK diff --git a/kubejs/assets/tfg/textures/block/support/slate_support.png b/kubejs/assets/tfg/textures/block/support/slate_support.png deleted file mode 100644 index 20f41e150967a0313c5c73327f84adc548417e3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2844 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}XfgV|A{)n3?jVn?f>i_W$HY2J>m2rrT51qy~u;Sb*(b5Y#gcDJKh3rPpqEoO)EhSaIi*SpiEq`DaF|tMAdU*)Z?4 z);&?a*{7?5e)#OTJ&~KsUgNIDr`3RW5yMK}P|6Vkck$Gk$0|SFlfKQ0)#O{`PlbdHw z>F#N%T0D2kw4VAK(?sJL7#KJUJR*x37`TN&n2}-D90>*nj(M3O5hW46K32*3xq68y z`AMmI6}bfrAYfx(QIMFNom!%hl$xHIXRGvn_kJaX%oJOta8q9c-vZ~}1OnC3`zwE}IIgirj+S)RIJnirk#MVyg;UC9uI(dBs*BVSOb9u#%E&Tcrr! z00rm#qErPFJrg|xUDt}tG9x8BUM>X%o1&C7s~{IQs3AouX|_rkB_#z``ugSN<$C4D zdih1^`i7R4mih)p`bI{&MJZ{z#g%y_i50qe#mW#vpvJhQ7AF^F7L;V>=P7`UO-#x! zEwNQnf|{LKP?GFgQ35v~#0Q&RT#};iSx}N}QjuHWT2Z2JWME*SYha{nWC`*E#B;d? zzP@msdBxB$OwP~MuShJ=H`FuG&&`FaE-rB`L)e2=b#X{#L8^XGYH@yPQF5wlS!!O1 zGR&a`IiF)kWonYCS)yr@ zp#{tw&%EN2#JuEGkU15(1$vp8DOQ#iCTXUYmKM4eCI%+DCMG5+x`~#Smb$6t1}R3S z76z#X$%!!i{zaMTnR$sh$nF7|laiTYm1dq~YGPrMs%w^(n5t`HVQ8$IXpokyYnWza zl46mVYHDd>rlbH0Z!58bh! zdFe_DppdunFUm~KD@g<;aa$!ru$Qcyi&7Iy@{2<9^K)#KKyFho(la!GF^fM!ZUrlM+so9S3o zQl4Lw?O)`dl$DxXLaeE{w86~{N=?r!E-9+?B-;B}bl6mYiUTW;%;J*#qDpkP1*aAw z2| zO^hs4buG;;Om$ODQ;m}?jZ%#bEX`p0i}TY;$`gxH9n(|uN^F(fGjj{T$wEN`nm#pQ zD$6rcL5a`6$UxW7NY~IZ#L&>n(9p`%SP3aLfKmxKkx;`QNr~o0iK)h>x+#X{mbxY; zhKafsNyg^7=9UH~28I?EMi$1&FxQdm4pje30di4 zd55hY8#{W*sCXZ-UL)ilG{sDzOzY71$C;P=(xxwGu<=}NuwYO5`TfjBqA8`vMW0MM zKf~)b(_Tfdx}`V71N7L6$^$Ykr&~{0J+V-Mh0T7`cKdZa!Y7}ohUbCWM4qmGF6*2U FngC(Kr?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 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
sGF3MY^s}_W?^BOVrF8TYDRRqYGRR= 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 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 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7PI|gHhFJL5PTI)pWXR*P zS5`=rHK|db%^~E<6%(HW%N+Z@?2FTJPE_@Kv-`8^$2)qDKkqtQVZTnf_)(o*@7szQ z6D_~*+|+-EAwi&7QscYi7uQsS05;x+E1x$k$tlTOsTS$RaB}*zSB7(fcWZz6BfH}H zwp&M!#OvIZe10&;>|9S>SjUOY<~nDmU)8zpV8*zMd%ty?l*G5##;2jqnkEz7qyIV9 z8XfpQQ#x(yM7?9`hqhkyT;q1L+e={Djb5jFe@|I9ExlH_tL>Nbe&JT%rB98eO&Ay$ O7(8A5T-G@yGywpMUv7~A diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index ef26d23bc..1d683b72b 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -81,7 +81,7 @@ const registerTooltips = (event) => { 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 },